列表控件如何在代码中存储在程序集中

本文关键字:存储 程序 程序集 集中 代码 控件 列表 | 更新日期: 2023-09-27 18:12:48

我有一个包含几个用户控件的项目(每个代表一个游戏,但这是无关的),在第二个项目(游戏客户端)中,我想列出第一个库中的控件,创建它们的对象并将该控件附加到容器上。我该怎么做呢?

这些是WPF项目。请注意,我不想使用VS工具箱,因为该库将独立更新,而客户端没有。

列表控件如何在代码中存储在程序集中

假设你所有的控件都继承自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);