▲▲▲Assembly加载的窗体如何为窗体的一个公共变量赋值 ▲▲▲
Assembly assembly = Assembly.LoadFrom( "myDll.dll ");
Object obj = assembly.CreateInstance( "myForm ");
Form frm = obj as Form;
//这里我想为窗体的一个公共变量赋值,是字符型的,我怎么赋值啊
//frm.Name = "zsg ";这样肯定是错误的
frm.Show();
请大侠指点,多谢!
------解决方案--------------------程序集中的Form某一个值设为属性或公有变量试下!
------解决方案--------------------Form frm = assembly.CreateInstance( "myForm ");
//Form frm = obj as Form;
//这里我想为窗体的一个公共变量赋值,是字符型的,我怎么赋值啊
frm.Name = "zsg ";这样肯定是错误的
frm.Show();
这样呢?
------解决方案--------------------object frm = assembly.CreateInstance( "myForm ");
//Form frm = obj as Form;
//这里我想为窗体的一个公共变量赋值,是字符型的,我怎么赋值啊
Type type = frm.GetType();
PropertyInfo property = type.GetProperty( "Name ");//你要的变量名。这里找的是属性,如果是变量的话Property换成Field
property.SetValue(frm, "zsg ");
frm.Show();//这里也不能直接用Show(),同样要找到名字为 "Show "的方法,然后再调用它
写的比较简略,具体的你查MSDN上Type,FieldInfo,MethodInfo,PropertyInfo等等就行了,容易看明白的。