尝试基于字符串创建T的实例以传递给泛型方法

时间:2014-05-19 05:13:59

标签: c# generics

我有一个类名作为字符串。然后我可以使用以下内容创建一个新实例

var assemblyName = Assembly.GetExecutingAssemble().FullName;
var myObj = Activator.CreateInstance(assName, myClassName);

我的问题是我有以下通用方法声明

public static async Task myMethod<T>(string id) where T:IIdentity //boxing

我无法通过

调用此方法
myMethod<myObj>("hello");

因为myObj不是T型。

有没有办法可以创建一个可以传递给我的泛型方法的myClassName的有效实例?

1 个答案:

答案 0 :(得分:0)

试试这个

public static async Task myMethod<T>(string id, T ident) where T:IIdentity

使用

调用此方法
myMethod<IIdentity>("hello", myObj);

如果这有帮助,请告诉我。您可能需要修复myMethod的方法体。如果你无法修复它,你可以编辑你的帖子来添加方法体,我将编辑我的帖子来向你展示修复。干杯!!!