gpt4 book ai didi

c# - .NET 中是否有一种方法可以在调用另一个方法之后但在输入之前自动调用一个方法

转载 作者:太空狗 更新时间:2023-10-29 22:25:15 24 4
gpt4 key购买 nike

我正在寻找一种在调用另一个方法之后但在输入之前调用方法的方法。示例:

public class Test {

public void Tracer ( ... )
{
}

public int SomeFunction( string str )
{
return 0;
}

public void TestFun()
{
SomeFunction( "" );
}

}

在上面的示例中,我希望在 TestFun() 调用 SomeFunction() 之后但在输入 SomeFunction() 之前调用 Tracer()。我还想获得有关 SomeFunction() 的反射数据。


我在大家的回答中发现了一些有趣的东西。 问题的最佳答案是使用 CaSTLe 的 DynamicProxy;但是,这不是我要用来解决我的问题的方法,因为它需要向我的项目添加一个库。我只有少数几个方法需要“跟踪”,因此我选择使用经过修改的“核心”方法,结合动态代理的实现方式。我在下面对我自己的问题的回答中解释了这一点。

请注意,我将研究 AOP 和其他一些应用程序的 ContextBoundObject 类。

最佳答案

您可以使用动态代理(例如 Castle's DynamicProxy)来拦截调用,运行您希望的任何代码,然后根据您的需要调用或不调用您的方法。

关于c# - .NET 中是否有一种方法可以在调用另一个方法之后但在输入之前自动调用一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192332/

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