View Full Version : 有没有可能这样的实现。


David Jia
04-08-2007, 03:04 PM
比方说我定义了几个页面类

frmPage1, frmPage2, frmPage3

现在在某个函数中,我希望

private void StartForm(string inFrmType)
{
// 然后用这个inFrmType所代表的类声明一个页面然后运行
}

是不是可以用反射做到阿?具体怎么做呢?谢谢!!

t-xguo@prcvap.microsoft.com
04-09-2007, 06:04 AM
您好:
用反射功能可以实现所述功能。
几个页面类必须被编译成dll文件,设dllPath代表页面类所在目录,nameSpace代表页面类的命名空间,className是页面类的类名,动态加载的简单代码:
private void StartForm(string dllPath,string nameSpace, string className)
{
Assembly SampleAssembly = Assembly.LoadFrom(@"dllPath");
Object form = SampleAssembly.CreateInstance("nameSpace.className");
((Form)form).Show();
}
详细信息可以参见: http://msdn2.microsoft.com/en-us/library/1009fa28.aspx


郭轩
在线技术支持工程师
微软全球技术支持中心
---------------------------------------------------------------------------------------
我们的服务时间:周一至周五9:00-18:00(节假日除外)。我们将在两个工作日(48小时)内提供初始回应,并和您一起研究并解决问题。更多微软新闻组技术支持信息,请访问:http://support.microsoft.com/gp/newsgroupsupport/zh-cn.

回帖时,请在您的新闻组阅读器中使用“回复组(Reply to Group)”,这将帮助其他用户从您的提问中获益
---------------------------------------------------------------------------------------
本贴子以”现状”提供且没有任何担保,同时也没有授予任何权利。

t-xguo@prcvap.microsoft.com
04-11-2007, 10:24 AM
您好:

关于此主题,您是否还有疑问?如有任何疑问,欢迎在微软中文新闻组讨论。

郭轩
在线技术支持工程师
微软全球技术支持中心
---------------------------------------------------------------------------------------
我们的服务时间:周一至周五9:00-18:00(节假日除外)。我们将在两个工作日(48小时)内提供初始回应,并和您一起研究并解决问题。更多微软新闻组技术支持信息,请访问:http://support.microsoft.com/gp/newsgroupsupport/zh-cn.

回帖时,请在您的新闻组阅读器中使用“回复组(Reply to Group)”,这将帮助其他用户从您的提问中获益
---------------------------------------------------------------------------------------
本贴子以”现状”提供且没有任何担保,同时也没有授予任何权利。