相关疑难解决方法(0)

序列化使用内部修饰符声明的类的List <>?

我正在尝试将XML序列化添加到C#中相当简单的类结构中.本质上,有一个根类的实例(称为AClass),它包含一些其他类的几个实例的List(称之为AnotherClass):

[XmlRoot("RootNode")]
public class AClass {
    [XmlElement("ListNode")]
    internal List otherObjects { get; set; }
}

public class AnotherClass {
    [XmlAttribute("Name")]
    internal string name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在序列化时,我希望将这两个类序列化在一起 - 也就是说,如果我序列化了AClass,它的AnotherClass列表也会被序列化(请参阅此问题).

我有这个主要工作,但问题是在序列化过程中,XmlSerializer似乎只想处理public类的属性 - 如果声明列表,它根本不会序列化AnotherClass internal.

我试着让程序集的内部对序列化程序可见:

[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.Xml")]
Run Code Online (Sandbox Code Playgroud)

这似乎没有做任何事情.有没有办法让XmlSerializer递归序列化内部声明的对象列表?

c# xml access-modifiers xml-serialization

5
推荐指数
1
解决办法
2051
查看次数

标签 统计

access-modifiers ×1

c# ×1

xml ×1

xml-serialization ×1