我有一个加载DLL并实例化预定义对象的程序。此对象具有许多属性,其名称在XML文件中定义。我的程序需要在实例化对象中获取/设置这些属性。
我正在寻找模式/方法来做同样的事情。
我无法使用Reflection,因为在我的程序循环中连续调用此Get / Set方法。使用反射是非常昂贵的。
你们中的任何一个人都有你用于这种情况的最佳实践吗?
注意:如果需要,我可以更改从DLL动态加载的对象的结构(我正在开发它),但我的程序不知道属性的名称对象(DLL也是动态生成的,基本上,用户指定对象中所需的成员,另一个程序生成代码文件并将它们编译成上面提到的DLL。之后,我的程序加载这个新生成的DLL并启动它的工作。所以,我可以更改DLL中对象的结构,但我不知道DLL对象中包含的属性。)
答案 0 :(得分:0)
如果已经不太晚了,我会建议采用以下方法。
设计您的外部程序,以便
通过这种方式,您可以拥有主应用程序,将纯xml反序列化为外部程序生成的类。最后,它看起来应该如下所示,并且几乎没有代码可以保留。
外部程序:Xml数据 - > Xsl Schema - > GeneratedClasses
主要应用:Xml数据 - >反序列化为实例