public class Pet
{
// The default value for the Animal field is "Dog".
[DefaultValue(0)]
public int testinteger { get; set; }
[DefaultValue (00000000 - 0000 - 0000 - 0000 - 000000000000)]
public Guid testbool { get; set; }
}
public class Run
{
public static void Main()
{
Run test = new Run();
test.SerializeObject("OverrideDefaultValue.xml");
}
public void SerializeObject(string filename)
{
XmlSerializer mySerializer = new XmlSerializer(typeof(Pet));
TextWriter writer = new StreamWriter(filename);
Pet myPet = new Pet();
myPet.testinteger = 10;
mySerializer.Serialize(writer, myPet);
writer.Close();
}
}
ここでは、シリアル化にIdプロパティを使用しています。私は属性のデフォルト値を使用しています。しかし、シリアル化はIdプロパティに制限されません。プロパティ型Guidのシリアル化を制限する方法は?
['[NonSerializedAttribu Te] '](https://msdn.microsoft.com/en-us/library/system.nonserializedattribute.aspx)? – Alejandro
@Alejandro 'XmlSerializer'は' [NonSerialized] 'を気にしません:' testbool'はフィールドではありません(自動的に実装されたプロパティでは使用できませんが、フィールドのようなイベント) –
btw; '[DefaultValue]'属性はあなたが思っていることをやっていません。 '00000000 - 0000 - 0000 - 0000 - 000000000000'はちょうど' 0'を言う素晴らしい方法です –