我希望能够做的是将属性添加到类的特定方法,以便那些如此装饰的方法可以在其中调用正文中的语句我喜欢的方式。启用以特定方式调用的类方法
例如,请考虑这种情况在C#:
public class A
{
public A() {}
[CallTwice()]
public void Func1()
{
Console.WriteLine("Calling Func1().");
}
public void Func2()
{
Console.WriteLine("Calling Func2().");
}
}
我想这样一个场景,如果我这样做:
public static void Main()
{
A a = new A();
a.Func1();
a.Func2();
}
我会得到这样的输出:
Calling A.Func1().
Calling A.Func1().
Calling A.Func2().
即我的装饰Func1使它被调用两次。
我想知道的是,我如何编写代码来利用我给Func1的具体装饰,以便我知道两次调用它的正文语句。这在C#中可能吗?
我很好奇你在做什么?表面上,它只是使代码更难以遵循。目标是什么? – Khepri 2011-06-12 05:05:12
我想知道是否有可能声明地分离一个方法的实现从如何调用方法。这样,如果我需要改变方法的调用方式,我只需要改变方法的实现属性,而不是改变方法本身。 – 2011-06-12 16:24:34