在C#中将类型参数传递给泛型[重复]
Posted
技术标签:
【中文标题】在C#中将类型参数传递给泛型[重复]【英文标题】:Passing Type parameter to generic in C# [duplicate] 【发布时间】:2014-10-04 10:49:28 【问题描述】:我有一个泛型类ValueCriterion
,它采用另一个类类型作为参数。以下代码工作正常。
new ValueCriterion<,CrashDetected>(0));
CrashDetected
是一个类。
但是当我使用下面的代码获取CrashDetected
类的类型时。
Type myType = Type.GetType("NetworkDB." + "CrashDetected");
并将myType
传递给ValueCriterion
,编译器给出以下错误:
new ValueCriterion<,myType>(0));
错误 1 使用泛型类型需要 1 个类型参数。
我将非常感谢任何帮助。
【问题讨论】:
【参考方案1】:您可以使用MakeGenericType
方法使用Type
实例创建泛型类型:
var type = typeof(ValueCriterion<>).MakeGenericType(myType);
var instance = Activator.CreateInstance(type, 0);
【讨论】:
Selman22... 你太棒了。我的问题现在解决了一半。所以我可以创建对象并传递它们。如果我需要将类型作为参数传递呢 Execution.Wait以上是关于在C#中将类型参数传递给泛型[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在Python中将多个参数传递给pool.map()函数[重复]
在 C# 中将查询参数作为参数传递给 BigQuery 中的 IN 运算符的正确方法