![]() |
1
4
好吧,据我所知,它们在逻辑上是不同的。 实现IXMLSerializable直接影响类本身,因为您正在向类的实现中添加接口和一个或多个方法。本质上,您正在使自己的类直接负责它的序列化。 但是,添加xmltattribute属性不会直接影响类的功能,相反,您只是用属性对其进行修饰,以便xmlserializer可以执行实际的序列化功能。在这种情况下,您将把序列化推迟到xmlserializer类,并为xmlserializer提供足够的关于类的元数据来完成它的工作。 这就是为什么我更喜欢后一种属性方法。当我编写一个类时,我希望它是可序列化的,但我最不关心的是实现的细节,所以我总是从thaqt方法开始,99%的时间它可以很好地工作,很少工作。但是,如果确实需要对序列化进行更精细的粒度控制,则实现IXML可序列化接口并编写自己的序列化代码。 |
![]() |
2
8
从评论和投反对票来看,也许我应该在这里强调我的主要观点:一些可以拯救我的东西 小时 工作(每种类型)和可怕的代码复杂性非常大 不 多余,但非常欢迎。 “相当容易”?好的;我在序列化方面很有经验,但是实现它的方法是 不 我所说的轻松。事实上,恰恰相反。
如果不想使用属性,则存在一个重载
但每当我听到“工具”时,我都会发抖。
我要求你写一篇
稳健的
执行
|
![]() |
3
1
实现接口的编程方法可能会提供更多的控制(并且可能更快),但与属性方法相比,创建和维护起来更困难。我主要使用属性。 |
![]() |
4
1
你可以 选择 要用属性序列化的属性。接口的实现是通过代码序列化的。 |
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |
![]() |
randomDud · C#从另一个接口重写接口方法 3 年前 |
![]() |
evilsushi · C#接口不允许成员类满足要求 7 年前 |