是否有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