Есть класс типа "Тип", например:
Type myDinamicType = myClass1; // Тут могут быть myClass2, myClass3....
Есть ДАО для моих классов (myClass1, myClass2 ...)
public class CommonDAO<classType> {}
Так как создать инстанс генерика с динамическим типом низя,
(вот так не получится CommonDAO<myDinamicType>)
прибегаем к рефлексии:
public static object CreateDinamicTypeDAO(Type typeDAO)
{
Type daoType = Type.GetType("AssemblyName.CommonDAO'1");
Type genericType = daoType.MakeGeneric(typeDAO);
return Activator.CreateInstance(genericType);
}
и в коде я имею:
object myDAO = CreateDinamicTypeDAO(myDinamicType);
вопрос теперь состоит в том — как же юзать полученный объект?
Мне необходимо вызывать методы, описанные в CommonDAO<classType>, но имею я всего лишь объект типа object.
Приведение его хотябы к CommonDAO<object> возвращает null:
(myDAO as CommonDAO<object>) // это null
Помогите кто чем может )
Заранее спасибо!