在 dll 方法启动后执行方法

execute a method after dll method fired up

我想制作一个包含一些方法的 dll 文件,例如:

add()
edit()
list()
get()
delete()
...

所以我想知道什么时候触发了一个方法(比如日志记录) 我希望每次触发我的 dll 中的事件时,调用项目中的方法(包括 dll 作为参考)

我不能这样使用:

mydllclass.add();
mymethod();

我想要一种在所有方法调用(从任何地方)调用 mymethod 之后实现它的方法。

例如,如果在 add() 方法体内调用了 edit(),我想查明这一点。

所以 :

bProject    
 + default.aspx
 + bin > mydll.dll ===> [ add() edit() ... ]
 + myclass > mymethod() ===> target !

我的 类 和我在 dll 中的方法应该如何?以及如何解决它?

(或更好的建议)

谢谢

声明一个 event,它会在每次调用您的方法时触发。 (您始终可以使用 AOP 以获得更好的结构。)

class TestClass
{
    public event Action<string> MethodCall;

    public void Add()
    {
        MethodCall("Add Called");

        Edit();
    }

    public void Edit()
    {
        MethodCall("Edit Called");
    }
}

class Program
{
    public static void Main(string[] args)
    {
        var c = new TestClass();
        c.MethodCall += Console.WriteLine;

        c.Add();

        Console.ReadKey();
    }
}

会输出:

Add Called
Edit Called