【发布时间】:2011-06-30 21:42:07
【问题描述】:
我想知道是否可以将一个变量的类型设置为另一个泛型变量的类型?
例如,假设我有这个代码:
public class Foo: IBar<ushort>
{
public FooBar()
{
Value = 0;
}
public ushort Value { get; private set; }
}
我也有这门课:
public class FooDTO<TType> : IBar<TType>
{
public TType Value { get; private set; }
}
在这些示例中,在 IBar 的接口中具有属性
TType Value;
然后在我的代码中我有这个
var myFoo = new Foo();
var fooDataType = myFoo.Value.GetType();
//I know this line of code does not compile, but this is what I am looking to be able to do
var myFooDTO= new FooDTO<fooDataType>();
我正在寻找的可能吗?对于高使用率的代码会不会太慢(因为使用了反射。
【问题讨论】:
-
为什么?你想做什么?
标签: c# generics reflection types runtime