我正在研究一个需要根据我传入的对象类型运行不同处理方法的类。我认为重载可能在这里起作用,但我有一个问题。假设我有两个接口:
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 签名,因为从技术上讲,该接口也已实现。
谢谢你的帮助。