Помогите с Reflection
От: Аноним  
Дата: 19.09.09 12:48
Оценка:
Есть класс типа "Тип", например:


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


Помогите кто чем может )

Заранее спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.