【问题标题】:Does the class of an xml configuration file need to match an actual class used in the application?xml 配置文件的类是否需要与应用程序中使用的实际类匹配?
【发布时间】:2014-04-25 04:24:18
【问题描述】:

对于您用于存储应用程序设置的 XML 配置文件,它的类对象是否需要是应用程序中使用的类之一,或者您是否创建一个特殊的配置类并转换其中的值您应用到使用这些值的其他对象?

例如

假设我想跟踪产品的这 3 个设置

Name
ID
Color

所以我的配置文件看起来很简单

<Product>
  <Name>product1</Name>
  <ID>2343435</ID>
  <Color>Blue</Color>
</Product>

但是我在应用程序中使用的 Product 类有更多的属性和方法

喜欢

class Product{

string Name;
string Color;
int ID;
bool isObsolete;
SpecialType ProductProperty;

Product(){}

ObsoleteProduct(){

//do stuff
}

OtherMethod(){

//Do stuff
}

}

那么我应该从我正在使用的实际 Product 类中进行 XML 表示,还是使用只包含我关心的设置的更简单的形式?因为如果我使用更简单的形式,那么我将有两个类,并且我需要在对象之间移动值。

【问题讨论】:

    标签: c# .net xml


    【解决方案1】:

    xml 序列化和反序列化可以使用属性进行很多配置,如here 所述。例如,可以在序列化中省略属性,可以显式指定属性的名称,可以选择数组类型的序列化样式。

    此外,对数组类型的访问是通过ICollection 接口完成的,该接口允许在插入元素时提供额外的逻辑,这在this article 中进行了讨论。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      相关资源
      最近更新 更多