XmlSerializer i atrybuty dopuszczające wartość null
Mam klasę z wieloma właściwościami dopuszczającymi wartość Nullable & < T & >, które chcę serializować do XML jako atrybuty. Najwyraźniej nie, nie, ponieważ są one uważane za „typy złożone”. Zamiast więc implementować wzorzec * Specified, w którym tworzę dodatek * Value i właściwość * Specified w następujący sposób:
[XmlIgnore]
public int? Age
{
get { return this.age; }
set { this.age = value; }
}[XmlAttribute("Age")]
public int AgeValue
{
get { return this.age.Value; }
set { this.age = value; }
}[XmlIgnore]
public bool AgeValueSpecified
{
get { return this.age.HasValue; }
}Co działa świetnie - jeśli właściwość „Age” ma wartość, jest ona serializowana jako atrybut. Jeśli to nie ma znaczenia, nie jest serializowany.
Problem polega na tym, jak wspomniałem, w mojej klasie jest wiele wartości Nullable, a ten wzorzec po prostu sprawia, że rzeczy stają się bałaganiarskie i niemożliwe do zarządzania.
Mam nadzieję, że istnieje sposób, aby Nullable był bardziej przyjazny dla XmlSerializer. Lub, w przeciwnym razie, sposób na utworzenie zastąpienia dopuszczającego wartość null, czyli.
Czy ktoś ma pomysł, jak mogłem to zrobić?
Podziękować.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Dobry przykład można znaleźć na stronie dokumentacji MSDN.
http://msdn.microsoft.com/en-u ... .aspx
.