日期:2014-05-18 浏览次数:20906 次
//利用反射可以解决你的问题,需要using System.Reflection; string str_frm = "From2"; string typeName="命名空间."+str_frm;//注意这里需要全类名 Type fType=Type.GetType(str_frm); Form f=(Form)fType.InvokeMember("乱写",BindingFlags.CreateInstance,null,null,null); //f就是你要的东西
------解决方案--------------------
//利用反射可以解决你的问题,需要using System.Reflection;
string str_frm = "From2";
string typeName="命名空间."+str_frm;//注意这里需要全类名
Type fType=Type.GetType(str_frm);
Form f=(Form)fType.InvokeMember("乱写",BindingFlags.CreateInstance,null,null,null);
//f就是你要的东西
改撑
//利用反射可以解决你的问题,需要using System.Reflection;
string str_frm = "From2";
string typeName="命名空间."+str_frm;//注意这里需要全类名
Type fType=Type.GetType(typeName);
Form f=(Form)fType.InvokeMember("乱写",BindingFlags.CreateInstance,null,null,null);
//f就是你要的东西
------解决方案--------------------
string typeName = "myNamespace.myForm";
Form frm = (Form)Activator.CreateInstance(Type.GetType(typeName));
private Form LoadForm(string AssemblyName, string TypeForm)
{
Assembly _Assembly = Assembly.Load(AssemblyName);
Type _FormType = _Assembly.GetType(TypeForm);
object _LoadForm = _FormType.InvokeMember(null, BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);
return (System.Windows.Forms.Form)_LoadForm;
}
------解决方案--------------------
form名:form1
命名空间:A
(Form)Activator.CreateInstance(null, "A." + "form1")