【发布时间】:2012-11-04 00:56:06
【问题描述】:
如何将字符串附加到类型名称然后将其作为另一种类型传递?这是一个例子:
public T Get<T>(int id)
{
return dbAccess.Get<T>(id);
}
如果我像这样调用这个方法
SomeObject.Get<Class1>(1234);
我想通过将字符串“Data”附加到任何传递的类来将Class1 更改为Class1Data,因此dbAccess.Get 方法会将对象作为Class1Data 作为Class1 的转换。
【问题讨论】:
-
泛型不应该这样使用。泛型只是编译器在稍后阶段提供的实际类型的占位符。从表面上看,您使用的技术不适合像 C# 这样的强类型语言。如果您无法避免这种情况,我建议您按照 Jon 的建议行事。
标签: c# .net reflection casting type-conversion