每次调用外部包的方法时调用另一个方法



我安装了一个外部Nuget包,而且我经常使用它的一个方法。现在,我想在每次调用上述方法之后立即调用另一个方法(我自己写的(。这就像:

MyExternalNugetPackage.Send(inputs); //varying inputs (in number, type, and values)
MyOwnMethodCall();

由于我已经拥有了数千个"MyExternalNugetPackage.Send((">,我不想在每一行添加"MyOwnMethodCall((">。我有没有办法以某种方式扩展或添加"MyExternalNugetPackage.Send((">的功能,以便在其内部调用"MyOwnMethodCall((">

您可以制作一个类似的扩展方法

public static class Extensions
{
public static void SendWithAction(this MyExternalNugetPackage myExternalNugetPackage, Action action)
{
myExternalNugetPackage.Send();
action.Invoke();
}
}

然后用类似的扩展方法替换Send((调用

MyExternalNugetPackage.SendWithAction(MyOwnMethodCall);

很容易找到替代品来更换它们。

无论哪种方式,如果您不能制作某种钩子,比如在Send((完成后执行的"AfterSend",那么您需要修改代码。

最新更新