次があるとします。
interface Foo
{
bool Func(int x);
}
class Bar: Foo
{
bool Func(int x)
{
return (x>0);
}
}
class Baz: Foo
{
bool Func(int x)
{
return (x<0);
}
}
これで、Bar と Baz を Foos として処理し、それらの Func メソッドを呼び出すことができます。
デリゲートはこれを少し単純化します。
delegate bool Foo(int x);
bool Bar(int x)
{
return (x<0);
}
bool Baz(int x)
{
return (x>0);
}
これで、Foo デリゲートとして Bar と Baz をいじることができます。
コードが短くなる以外に、デリゲートの本当の利点は何ですか?