【发布时间】:2013-12-11 17:05:48
【问题描述】:
我正在为基类寻找一种设计模式,它强制所有派生类实现所有基类方法,而派生类中的方法具有不同的返回类型。该场景是一个通用的 MemoryObject 类(接口/抽象),在内存中/从内存中保存和返回 whatever 类型的对象。但是派生类(静态/密封/单例)应该返回正确的类型。
所以要求是 - 强制所有派生类实现基类的所有属性和方法 - 派生类中的方法必须返回正确的类型
这是一些示例代码,不可编译,但用于说明:
public interface MemoryObject
{
object FromMemory { get; }
//... other properties and methods
}
public sealed class MemoryObjectA : MemoryObject
{
public static List<string> FromMemory
{
get { return new List<string>(); }
}
//... other properties and methods
}
public sealed class MemoryObjectB : MemoryObject
{
public static DataTable FromMemory
{
get { return new DataTable(); }
}
//... other properties and methods
}
提前感谢您的建议!
【问题讨论】:
-
几个小尼特。您使用的不是基类,而是接口,标准命名约定还规定 iterfaces 应以
I开头,因此您的接口应为public interface IMemoryObject
标签: c# design-patterns