マイクロソフトでは、記事の中に「How to serialize an object to XML by using Visual C#」というコードを提供しています。クラスに[DataContract]属性または[Serializable]属性のいずれかを付けてシリアル化する必要があるのはなぜですか?
using System;
public class clsPerson
{
public string FirstName;
public string MI;
public string LastName;
}
class class1
{
static void Main(string[] args)
{
clsPerson p=new clsPerson();
p.FirstName = "Jeff";
p.MI = "A";
p.LastName = "Price";
XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
x.Serialize(Console.Out, p);
Console.WriteLine();
Console.ReadLine();
}
}
は、しかし、なぜクラスは、clsPersonは、いずれかの[のDataContract]または[Serializableを]属性でマークする必要はないのですか?
の可能な複製[XmlSerializerで型が\ [Serializable \]とマークされる必要があるのはなぜですか?](http://stackoverflow.com/questions/392431/why-doesnt- the-xmlserializer-need-the-be-marked-marked-serializable) – nawfal