gpt4 book ai didi

c# - 在方法被调用时调用方法

转载 作者:行者123 更新时间:2023-11-30 14:37:35 25 4
gpt4 key购买 nike

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

而不是这样做:

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
}

我想自动调用 InvokeMe 私有(private)方法,而不是将它放在 MyClass 中的每个公共(public)方法上,因为我们在那个类中有太多方法,而且那个类总是在变化。

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

请帮助,在此先感谢。

最佳答案

这可以使用一些 Aspect 编程来完成(看看 PostSharp 或其替代品之一)。或者,由于您使用的是 .NET 4,您可以创建一个 DynamicObject实现充当您的类的代理,当在其上调用方法时,它首先调用 InvokeMe 方法。

更新

我在上面添加了指向 DynamicObject 文档的链接以供进一步阅读。有一个很好的 MSDN 博客可用 here讨论相关要点。

关于c# - 在方法被调用时调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9090089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com