是否有Python的函数装饰器的C#模拟器?感觉它可以通过属性和反射框架来实现,但我没有看到在运行时替换函数的方法。c函数装饰器#
Python decorators通常以这种方式工作:
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"
调用FUNC1然后FUNC2会导致
Before Function 1 After Before Function 2 After
的想法是,装饰会让我轻松地在入口点和出口点添加常见任务的多种功能。
我发现这是一个有趣的介绍为什么,而不是什么。 http://python.about.com/gi/dynamic/offsite.htm?zi=1/XJ&sdn=python&cdn=compute&tm=12&f=10&su=p284.9.336.ip_p504.1.336.ip_&tt=29&bt=0&bts=1&zu=http %3A // www.python.org/doc/ 2.4.4/whatsnew/node6.html – ShuggyCoUk 2009-09-07 22:32:26
嗯,我希望已经内置到语言的东西,但从答案看来,没有直接的方法可以做它不需要添加新的框架。我的项目非常小,所以这样做可能矫枉过正。 – jtjin 2009-09-07 23:15:54