У меня возникает проблема с отражением на C#. Мне нужно создать общий метод, который динамически создает тип класса с отражением. Я попробовал следующее.Проход динамически печатается в общий шаблон
Type myClass = Type.GetType([email protected]);
Type myInterfaceClass = myClass.GetInterface([email protected]);
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 " – acostela
http://stackoverflow.com/questions/2107845/generics-in-c-using-type-of-a-variable-as-parameter Я думаю, что ваш вопрос уже существует, но не на 100%, поскольку я не так много в generics. – Thomas