Мне интересно, возможно ли использовать тип одной переменной для установки в качестве типа другой универсальной переменной?
Например, скажем, у меня есть этот код:
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>();
Возможно ли то, что я ищу? Будет ли он слишком медленным для интенсивного использования кода (из-за использования отражения.