将实例化的System.Type作为泛型类的类型参数传递标题有点模糊。我想知道的是这是否可能:string typeName = <read type name from somwhere>;Type myType = Type.GetType(typeName);MyGenericClass<myType>
myGenericClass = new MyGenericClass<myType>();显然,MyGenericClass被描述为:public class MyGenericClass<T>现在,编译器抱怨说无法找到‘类型或名称空间’myType‘。
3 回答

慕田峪4524236
TA贡献1875条经验 获得超5个赞

慕姐4208626
TA贡献1852条经验 获得超7个赞
public class Encoder() {public void Markdown(IEnumerable<FooContent> contents) { do magic } public void Markdown(IEnumerable<BarContent> contents) { do magic2 }}
如果
var fooContents = new List<FooContent>(fooContent)new Encoder().Markdown(fooContents)
不过
var listType = typeof(List<>).MakeGenericType(myType);var dynamicList = Activator.CreateInstance(listType);((IList)dynamicList).Add(fooContent);
Markdown(IEnumerable<FooContent> contents)
new Encoder().Markdown( (dynamic) dynamicList)
dynamic
dynamicList
List<FooContent>
IEnumerable<FooContent>
Markdown
- 3 回答
- 0 关注
- 1149 浏览
添加回答
举报
0/150
提交
取消