Как список элементов управления хранится в сборке в коде? - PullRequest
0 голосов
/ 31 октября 2011

У меня есть проект, содержащий несколько пользовательских элементов управления (каждый представляет игру, но это не имеет значения), во втором проекте (игровой клиент) я хочу перечислить элементы управления, которые находятся в этой первой библиотеке, создать их объекты и прикрепить этот элемент управления кконтейнер.Как я могу это сделать?

Это проекты WPF.Обратите внимание, что я не хочу использовать VS toolbox, так как эта библиотека будет обновляться независимо, а клиент - нет.

1 Ответ

2 голосов
/ 31 октября 2011

Давайте представим, что все ваши элементы управления наследуются от класса Control, вы можете сделать это

   List<Type> res = new List<Type>();
        foreach (Type aType in   Assembly.LoadFile("yourdll.dll").GetTypes())
        {
            if(aType.IsSubclassOf(typeof(Control)))
                res.Add(aType);
        }

Таким образом, вы получите все ваши типы в списке res.

РЕДАКТИРОВАТЬ

И вот так вы можете создать свой экземпляр

 Control myControl = (Control)Activator.CreateInstance(aType);
...