Tôi đang tìm kiếm một cách để đánh chặn các cuộc gọi phương pháp dụ trong lớp MyWrapper
dưới đây:Làm thế nào để đánh chặn các cuộc gọi phương thức cá thể?
class SomeClass1:
def a1(self):
self.internal_z()
return "a1"
def a2(self):
return "a2"
def internal_z(self):
return "z"
class SomeClass2(SomeClass1):
pass
class MyWrapper(SomeClass2):
# def INTERCEPT_ALL_FUNCTION_CALLS():
# result = Call_Original_Function()
# self.str += result
# return result
def __init__(self):
self.str = ''
def getFinalResult(self):
return self.str
x = MyWrapper()
x.a1()
x.a2()
Tôi muốn chặn tất cả các cuộc gọi chức năng thực hiện thông qua lớp wrapper của tôi. Trong lớp wrapper của tôi, tôi muốn theo dõi tất cả các chuỗi kết quả.
result = x.getFinalResult()
print result == 'a1a2'
Cảm ơn rất nhiều! Nó hoạt động tốt như tôi muốn! :-) –
Điều cần biết - bạn được chào đón. Vui lòng gắn thẻ câu trả lời là "được chấp nhận" rồi :) – Shadikka