我有一个类,它映射到数据库中的一个字段。该类只关心字段的名称及其相关的.NET类型。该类型可以是字符串、整数、日期时间等。
class Foo()
{
string Name { get; set; }
Type FooType { get; set; }
}
我有另一个继承自Foo的类,增加了一个值属性。目前,我将该值存储为对象,并使用switch语句根据基类FooType对值进行装箱。
class FooWithStuff() : Foo
{
object Value { get; set; }
}
有没有办法使用泛型来实现对值类型的类型安全?
编辑:我已经将关键要求加粗。当声明一个名为Foo的列表时,它需要一个类型。如果我针对自定义类执行此操作,我会创建一个接口并使用它。但是在这里我使用int、string、DateTime等。Int是一个结构体,string是一个对象,因此Foo< object>不能同时适用于两者。