我正处于通过XML的递归循环中间,直到我需要创建一个对象然后想到的部分…..啊 – 不知道怎么做:(
我有一个填充空对象的数组(m_MenuDataTypes),每个可能的类型之一.我的递归加载函数看起来像这样
private voID LoadMenuData(XmlNode menuDatanode){ foreach (object menuDataObject in m_MenuDataTypes) { Type menuDataObjectType = menuDataObject.GetType(); if (menuDataObjectType.name == menuDatanode.name) { //create object } }}
我需要在我的评论中放置一些代码,但我不能有一个大的转换语句或任何东西.我的数组中的对象可以根据用户配置应用程序的方式而更改.
解决方法 你想使用 Activator.CreateInstance(Type)object instance = Activator.CreateInstance(menuDataObjectType);
为了使其高效工作,您可能需要限制动态创建的实例以实现接口
ICommonInterface i = (ICommonInterface)Activator.CreateInstance(menuDataObjectType)
这样,动态创建的对象变得可用 – 您可以在其上调用接口方法.
总结以上是内存溢出为你收集整理的通常在C#中创建对象全部内容,希望文章能够帮你解决通常在C#中创建对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)