![]() |
1
2
你可以用
|
![]() |
2
1
这不起作用的原因是因为你指的是
将串行对象存储为类属性
如果你储存
在每个实例上进行装饰
或者如果你需要一个不同的
这个解决方案推广到修饰多个方法或有条件地停用序列化,比如在测试环境中。
|
![]() |
3
0
有很多隐藏的陷阱,使这成为一个危险的设计,但它是一个很好的学习例子。 首先,装饰时调用“self”失败,因为在该范围内没有self。它只存在于方法内部。现在,简单的一个已经不存在了。。。 myfunc是App类的一个属性。当你创建一个App实例时,总是调用一个函数。即使它变得有条不紊,也只会发生一次。
这就是为什么需要self为实例获取唯一的名称空间。这也是为什么您无法通过这种方式获得实例特有的decorator。 另一种考虑方法是,必须先定义类,然后才能生成实例。因此,在定义类时不能使用实例。 解决方案decorator需要以一种不会存储任何实例属性的方式编写。它将访问应用程序实例属性。
现在我假设MySerial在每个应用实例中都会有一个唯一的文件、端口或其他东西。这是串行配置中记录的内容。如果流开始关闭,这可能并不优雅,但您应该能够为您的确切应用程序改进这一点。 |
|
Boris · 分发我的海龟们的补丁,除了那些属于一组的补丁 7 年前 |
![]() |
tsar2512 · python中的模拟字典 7 年前 |
![]() |
Aaron Franke · git am:修补程序格式检测失败 7 年前 |
![]() |
Pris Cunha · 选择补丁分析邻居netlogo 7 年前 |
![]() |
ataraxis · 检查是否已应用git apply 7 年前 |
![]() |
Pankaj Singh · unittest模拟未模拟 8 年前 |
![]() |
dtmland · 找不到Buildroot修补程序? 10 年前 |
![]() |
mgr · MSI WIX:使用2个MSI创建次要升级补丁 10 年前 |