Учитывая класс, помеченный как [Serializable]
, как узнать, будет ли его член сериализован или нет ( член не имеет атрибута ) с помощью XmlSerializer
?
Например:
[Serializable]
public class C2
{
public int x1 = 1;
private int x2 = 2;
public static int x3 = 3;
public readonly int x4 = 4;
public int Y1 { get; set; }
public static int Y2 { get; set; }
}
У нас есть класс C2
, и после сериализации нового объекта C2 c = new C2()
в строку XML я обнаружил, что только x1
и Y1
сериализуются.Поэтому я выводю , что:
public
поле и свойство будут сериализованы. private
поле и свойство не будут сериализованы. static
и readonly
поле и свойство не будут сериализованы. - MethodInfo не будет сериализовано.
- ...
Мой вопрос заключается в том, есть ли какие-либо рекомендации, позволяющие узнать, что: без пометки какого-либо атрибута для члена класса, откуда мы знаем, что этот член будет сериализованили нет?