这可能是一个关于基础设计的问题。声明对象类型的接口
我想对神秘对象执行操作,只要它实现我的接口IMyInterface即可。而且我想由interace定义为返回神秘对象,因此实例的方法之一...
IMyInterface
{
object GetInstance();
}
public class MysteryObject : IMYInterface
}
public object GetInstance()
{
MysteryObject instance = new MysteryObject();
return instance;
}
}
但这会导致不必要的“对象”类型以及与这些相关的开销。 C#特别使用泛型来杀死这个开销。这将是理想的做这样的事情:
IMyInterface
{
T GetInstance<T>();
}
public class MysteryObject : IMYInterface
}
public MysteryObject GetInstance<MysteryObject>()
{
MysteryObject instance = new MysteryObject();
return instance;
}
}
我知道这第二个例子不起作用。我知道语法是错误的。 ..但我想知道是否有更好的方法来要求实现IMyInterface的对象返回它自己类型的实例。
我的例子有点不可思议,但我认为大多数人会理解情绪。奇怪的是,我发现很少有这方面的例子或问题。
,几乎铸造引用类型为对象来回 –