Я пытаюсь сериализовать XML класс, содержащий две структуры с одинаковым именем:
public class MyClass
{
public System.Windows.Size WSize = new System.Windows.Size();
public System.Drawing.Size DSize = new Size.Drawing.Size();
}
В результате ошибка:
Types 'System.Drawing.Size' and 'System.Windows.Size' both use the XML type name,
'Size', from namespace ''. Use XML attributes to specify a unique XML name and/or
namespace for the type.
Все, что я нашел до сих пор, связано с украшением Type
атрибутом XML. Я не могу напрямую украшать любую структуру, так как это не мой код.
Я чувствую, что мне не хватает чего-то простого здесь... Есть ли атрибут XML, который я могу применить к полям?
EDIT Я добавил ответ, используя пару суррогатных свойств. Я не доволен этой конкретной реализацией, поскольку она оставляет общедоступные свойства висящими.
Я также рассматривал вариант DataContractSerialization
, но пока не решаюсь сделать следующий шаг. У кого-нибудь еще есть что-то, что они могут предложить?
РЕДАКТИРОВАТЬ 2 Возможно, в моей формулировке была некоторая путаница. Я могу изменить и украсить MyClass
, WSize
и DSize
. Однако, возможно, очевидно, что я не могу изменить System.Windows.Size
или System.Drawing.Size
.