调用Method时调用Method

Joh*_*ona 3 .net c#

每当调用同一个类中的方法时,如何在类中调用方法?

而不是这样做:

public class MyClass
{
    private void InvokeMe() { }

    public void Method1()
    {
        this.InvokeMe();
        // some codes
    }

    public void Method2()
    {
        this.InvokeMe();
        // some codes
    }

    public void Method3()
    {
        this.InvokeMe();
        // some codes
    }

    // more methods
}
Run Code Online (Sandbox Code Playgroud)

我想自动调用InvokeMe私有方法,而不是将它放在MyClass中的每个公共方法上,因为我们在该类中有太多方法,并且该类总是更改.

我的代码在C#,Framework 4.0中,在Visual Studio 2010 Pro中构建.

请帮助,提前致谢.

M.B*_*ock 5

这可以使用一些Aspect编程来完成(看看PostSharp或其中一个替代方案).或者,因为您使用的是.NET 4,所以您可以创建一个DynamicObject实现来充当您的类的代理,并且在调用方法时,它首先调用该InvokeMe方法.

UPDATE

我已经添加了DynamicObject上面文档的链接以供进一步阅读.有一个很好的MSDN博客可以在这里,讨论相关穴位.