我有一些 api 的 dll 函数,如下所示:
def dllcallback(items):
pass
Run Code Online (Sandbox Code Playgroud)
我想在与 dll 回调链接的类函数中访问 self。
class myobject(object):
def __init__(self):
self.a = 999
@dllcallback
def mycallback(self, items):
print (self.a)
self.a = 888
print (self.a)
Run Code Online (Sandbox Code Playgroud)
我不认为 dllcallback 接受 self 作为参数。所以这是失败的。我希望当 api 调用 dllcallback 时 myobject.mycallback 会触发,并显示:
999
888
Run Code Online (Sandbox Code Playgroud)
我尝试了下面的方法来使“self”可以被内部函数访问,但是这种方法杀死了内核......
class myobject(object):
def __init__(self):
self.a = 999
def callbacks(self):
@dllcallback
def mycallback(items):
print (self.a)
self.a = 888
print (self.a)
Run Code Online (Sandbox Code Playgroud)
我不确定内核死亡的原因。预先感谢您的任何建议。
更新:20180912 1436
实际上,可以在没有 self 作为参数的情况下调用重写方法,
class myobject(object):
def __init__(self):
self.a = 999
@dllcallback
def mycallback(items):
global …Run Code Online (Sandbox Code Playgroud)