많은 속성이있는 개체를 xml-serialize하고 DateTime 형식의 두 속성이 있습니다. 직렬화 된 출력의 날짜 형식을 지정하고 싶습니다. IXmlSerializable 인터페이스를 구현하고 모든 속성의 직렬화를 덮어 쓰고 싶지 않습니다. 이것을 달성 할 다른 방법이 있습니까?C# (2.0)에서 개체 직렬화시 날짜 서식 지정
감사 (전 C#, .NET 2를 사용하고 있습니다).
많은 속성이있는 개체를 xml-serialize하고 DateTime 형식의 두 속성이 있습니다. 직렬화 된 출력의 날짜 형식을 지정하고 싶습니다. IXmlSerializable 인터페이스를 구현하고 모든 속성의 직렬화를 덮어 쓰고 싶지 않습니다. 이것을 달성 할 다른 방법이 있습니까?C# (2.0)에서 개체 직렬화시 날짜 서식 지정
감사 (전 C#, .NET 2를 사용하고 있습니다).
XML 직렬화를 들어 당신은 IXmlSerializable
하지 ISerializable
을 구현해야합니다.
그러나 도우미 속성을 사용하고 DateTime
속성을 XmlIgnore
특성으로 표시하여이 문제를 해결할 수 있습니다.
public class Foo
{
[XmlIgnore]
public DateTime Bar { get; set; }
public string BarFormatted
{
get { return this.Bar.ToString("dd-MM-yyyy"); }
set { this.Bar = DateTime.ParseExact(value, "dd-MM-yyyy", null); }
}
}
메서드를 재정의하는 DateTime
에 래퍼 클래스/구조체를 사용할 수 있습니다.
public struct CustomDateTime
{
private readonly DateTime _date;
public CustomDateTime(DateTime date)
{
_date = date;
}
public override string ToString()
{
return _date.ToString("custom format");
}
}
예, IXmlSerializable입니다. 러시로 입력하는 중 ... - 수정되었습니다. 감사. – Zoman