【发布时间】:2015-11-10 09:52:55
【问题描述】:
我遇到了 C# 中的反射问题。我需要构造一个用反射动态实例化类类型的泛型方法。我尝试的是以下内容。
Type myClass = Type.GetType(deviceBehavior.@class);
Type myInterfaceClass = myClass.GetInterface(deviceBehavior.@interface);
if (typeof (AnotherInterface).IsAssignableFrom(interfaceClass))
{
CreateManager<interfaceClass>(serviceProvider, deviceCapability);
}
我的 CreateManager 方法如下:
private void CreateManager<T>(ServiceProvider serviceProvider, DeviceCapability deviceCapability)
{
T instanceToCreate = CreateClass<T>(serviceProvider, deviceCapability);
//Code to instantiate my class
}
问题是我不能打电话
CreateManager(serviceProvider, deviceCapability);
如何将接口传递给我的泛型类型?我搜索了,我找不到任何我能清楚理解的东西。即
Calling a static method on a generic type parameter
Pass An Instantiated System.Type as a Type Parameter for a Generic Class
【问题讨论】:
-
抱歉,我无法理解您面临的问题是什么? “我不能打电话”到底是什么意思?
-
我收到错误“找不到符号“interfaceClass”
-
stackoverflow.com/questions/2107845/… 我认为您的问题已经存在,但不是 100%,因为我不太喜欢仿制药
标签: c# generics reflection