【发布时间】:2013-03-28 00:52:20
【问题描述】:
我想要这样的设计:
public interface IDifferentTypes
{
}
public class IntegerType : IDifferentTypes
{
public int value { get; set; }
}
public class StringType : IDifferentTypes
{
public string value { get; set; }
}
public class DateTimeType : IDifferentTypes
{
public DateTime value { get; set; }
}
但在接口中定义了属性“值”。
所以我可以这样称呼:
IDifferentTypes someInt = GetSomeInt(); // GetSomeInt() returns a IntegerType object
Assert.AreEqual(5, someInt.value);
IDifferentTypes someString = GetSomeString(); // GetSomeString() returns a StringType object
Assert.AreEqual("ok", someString.value);
问题是每个实现的值类型都不同,最好的处理方法是什么?
【问题讨论】: