从字符串值创建控件
本文关键字:控件 创建 字符串 | 更新日期: 2023-09-27 18:04:28
我正在使用DevExpress组件控件。我想从字符串Value
创建控件像"DevExpress.XtraEditors.TextEdit"。我知道我可以用
var textBoxType = typeof(Control).Assembly.GetType("System.Windows.Forms.TextBox", true);
var textBox = Activator.CreateInstance(textBoxType);
我想让它写一点代码。但是DevExpress有很多命名空间和类。我可以从字符串创建控件,除非给一个MainClass?(就像我的示例代码typeof(Control))如果我不能让我必须使用大量的if
您需要知道类是在哪个程序集中定义的。
例如,所有的编辑器都在DevExpress.XtraEditors.vX.Y.dll
或typeof(BaseEdit).Assembly
中。
如果你不知道它是在哪个程序集中定义的,你可以创建一个DevExpress程序集(typeof(GridControl).Assembly, typeof(TreeList).Assembly, ...
)的集合并循环它们,直到asm.GetType(name)
不返回null
。