Короче говоря, у меня есть структура (см. Ниже), которая содержит ровно одно поле:
private int value;
Я также реализовал операторы неявного преобразования:
public static implicit operator int(Outlet val)
{
return val.value;
}
public static implicit operator Outlet(int val)
{
return new Outlet(val);
}
Я реализовал все следующее:
IComparable, IComparable<Cart>, IComparable<int>, IConvertible, IEquatable<Cart>, IEquatable<int>, IFormattable
Я нахожусь в точке, где у меня действительно нет понятия, почему, но всякий раз, когда я сериализую этот объект, я не получаю значения.Например, с XmlSerialization:
<Outlet />
Кроме того, я не только обеспокоен XmlSerialization, я обеспокоен ВСЕЙ сериализацией (например, двоичным). Как я могу гарантировать, что это сериализуется правильно?
ПРИМЕЧАНИЕ: я сделал это, потому что отображение словаря int, int мне показалось довольно плохо напечатанным, когда требовались явные объекты с проверочным поведением.