私はC#に慣れていないので、この問題を思いつきました。質問: なぜ func2 が呼び出されるのですか? ああ、そしてもう1つ。デリゲートに関数を追加するとします。この関数では、別のデリゲートを呼び出しますが、最初のデリゲートに追加された他のすべての関数が、この関数がこのデリゲートを呼び出す前に呼び出されるようにしたいのですが、クリーンな解決策はありますか (getInvocationList にはあまり関心がありません)。みんなありがとう、あなたは最高です。
class Program
{
delegate void voidEvent();
voidEvent test;
private void func1()
{
Console.Write("func1");
test -= func2;
}
private void func2()
{
Console.WriteLine("func2");
}
static void Main(string[] args)
{
Program p = new Program();
p.test += p.func1;
p.test += p.func2;
p.test();
}
}