インターフェイスとポリモーフィズムを組み合わせると混乱します。
私が次のインターフェースを持っているとしましょう:
public Interface CanSayHello
{
String SayHello();
}
次のクラス:
public Class Person : CanSayHello
{
public String SayHello() { return "Hey, I'm a person just saying hello to you";}
}
そして最後に重要なクラス:
public Class PoshPerson: Person
{
public String SayHello() { return "Hey, I'm too posh to say hello to you";}
}
私の最初の質問は、次のコードがPoshClassまたはPersonClassのメソッドを収集するかどうかです。
public delegate String Collector();
event Collector CollectorEvent;
void GetMethod(CanSayHello c){CollectorEvent += c.SayHello;}
**GetMethod(new PoshPerson());**
Personクラスからメソッドを収集する場合は、Personのメソッドを仮想として宣言し、PoshPersonのメソッドをオーバーライドする必要があると思います。2つのメソッドシグネチャが等しいことを本当に望んでいます。どうにか可能ですか?