扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:MissileCat 来源:天极开发 2007年11月9日
关键字:
tobjClassObjectType = ni_objClassObject.GetType '取得类的类型,以利于反射调用 |
For Each tobjFieldInfo In tobjClassObjectType.GetFields If tobjFieldInfo.FieldType.IsArray = False Then '只是一个简单类型,直接取得值 tobjXMLElement = fnSimpleObjectToXML(tobjFieldInfo.GetValue(ni_objClassObject), _ ni_objXMLDocument, _ tobjFieldInfo.Name) tobjXMLClassObjectElement.AppendChild(tobjXMLElement) Else REM 如果是一个数组类型,则进行数组方法的调用以取得值, '目前只支持一维数组元素 tobjXMLElement = fnArrayToXML(tobjFieldInfo.GetValue(ni_objClassObject), ni_objXMLDocument, tobjFieldInfo.Name, tobjFieldInfo.FieldType.FullName) '将数组对象放入结构的xml对象中 tobjXMLClassObjectElement.AppendChild(tobjXMLElement) End If |
'利用反射调用数组的getLenght方法取得数组的大小,这里仅支持一维数组,但对于初始化文件已足够用了 tobjXMLAttribute = ni_objXMLDocument.CreateAttribute("ArrayLength") tobjMethodInfo = tobjArrayType.GetMethod("GetLength") ReDim taobjParameter(0) taobjParameter(0) = 0 ti32Tempa = tobjMethodInfo.Invoke(ni_objArray, taobjParameter) tobjXMLAttribute.Value = ti32Tempa tobjXMLElement.SetAttributeNode(tobjXMLAttribute) tobjXMLAttribute = Nothing '加入数组的内的元素 For ti32LoopA = 0 To ti32Tempa - 1 '利用反射取得数组的GetValue方法取得实际元素的值 ReDim taobjParameterType(0) taobjParameterType(0) = GetType(Integer) tobjMethodInfo = tobjArrayType.GetMethod("GetValue", taobjParameterType) ReDim taobjParameter(0) taobjParameter(0) = ti32LoopA tobjTempa = tobjMethodInfo.Invoke(ni_objArray, taobjParameter) ' 将数组元素放入对xml对象中 tobjXMLElementA = fnSimpleObjectToXML(tobjTempa, ni_objXMLDocument, ti32LoopA) tobjXMLElement.AppendChild(tobjXMLElementA) Next ti32LoopA |
'根据XMLelement结构元素中指定的对象类型,建立对象 tobjType = Type.GetType(tobjXmlSimpleObjectElement.GetAttribute("ObjectType")) tobjReturnSimpleObject = Convert.ChangeType(tobjXmlSimpleObjectElement.InnerText, tobjType, Nothing) |
Public gobjAppOption As New clsAPPOption |
'读取程序的选项 gobjAppOption.fnLoadAppOption() |
gobjAppOption.fnSaveAppOption() '保存应用程序的选项 |
'可以很好地利用VS提供的自动列出成员的功能列出程序选项 '读取选项的示例代码 MessageBox.Show(gobjAppOption.mobjAPPGeneralOption.astrShowFileFilter(0)) '保存选项的示例代码 'gobjAppOption.mobjAPPGeneralOption.astrHideFileFilter(0) = "*.zip" |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者