jtj*_*jin 22 c# python reflection decorator
Python的函数装饰器是否有C#模拟?感觉它可以使用属性和反射框架,但我没有看到在运行时替换函数的方法.
Python装饰器通常以这种方式工作:
class decorator(obj):
def __init__(self, f):
self.f = f
def __call__(self, *args, **kwargs):
print "Before"
self.f()
print "After"
@decorator
def func1():
print "Function 1"
@decorator
def func2():
print "Function 2"
Run Code Online (Sandbox Code Playgroud)
然后调用func1和func2将导致
Before Function 1 After Before Function 2 After
我们的想法是装饰器可以让我轻松地在多个功能的入口和出口点添加常见任务.
Ric*_*ber 12
我实现这一目标的方式是通过AOP框架,如Castle Dynamic Proxy,Spring.NET甚至是Policy Injection Application Block.