渡すオブジェクトのタイプに基づいて異なるプロセス メソッドを実行する必要があるクラスに取り組んでいます。ここでオーバーロードが機能する可能性があると思いましたが、質問があります。2つのインターフェースがあるとしましょう:
public interface IEmail
{
Some properties ...
}
と
public interface ISpecialEmail : IEmail
{
Some more properties....
}
これらのオブジェクトを処理するクラス:
public class EmailProcessor
{
public void ProcessEmail (IEmail email)
{
do stuff;
}
public void ProcessEmail (ISpecialEmail email)
{
do different stuff
}
}
私の質問は、ISpecialEmail が IEmail から継承されているということですが、これらのメソッド シグネチャはオーバーロードを可能にするほど十分に異なっているのでしょうか? 私の当初の考えでは、技術的にはそのインターフェイスも実装されているため、ISpecialEmail 電子メールも IEmail 署名をトリガーするというものでした。
ご協力いただきありがとうございます。