C# では、Action<> またはデリゲートに対して複数のメソッド シグネチャを持つオブジェクトを持つことは可能ですか? このような:
class Foo
{
public Action<string> DoSomething;
public Action<string, string> DoSomething;
}
class Bar
{
public Bar()
{
Foo f1 = new Foo();
f1.DoSomething = (s) => { Console.Write(s) };
Foo f2 = new Foo();
f2.DoSomething = (s1, s2) => { Console.Write(s1 + s2) };
f1.DoSomething("Hi");
f2.DoSomething("Hi","World");
}
}
答えはノーのようですが、そのようなものを実装する適切な方法は何ですか? (これが解決しようとしていた実際の問題は、別の方法で解決されています。これは、この時点ではただの好奇心です)