私は長方形でxmlシリアル化を使用していますが、これは厄介なXMLを生成しています...
私のクラスは次のようなものです。
[Serializable]
public class myObject
{
public Rectangle Region { get; set; }
//Some other properties and methods...
}
XMLにシリアル化すると、次のようになります。
<myObject>
<Region>
<Location>
<X>141</X>
<Y>93</Y>
</Location>
<Size>
<Width>137</Width>
<Height>15</Height>
</Size>
<X>141</X>
<Y>93</Y>
<Width>137</Width>
<Height>15</Height>
</Region>
...
</myObject>
うん!
Size
のプロパティとLocation
プロパティを抑制するかRectangle
、バッキング変数を使用[XmlIgnore]
して、次のような結果になることを期待しています。
[Serializable]
public class myObject
{
[XmlElement("????")]
public int RegionX;
[XmlElement("????")]
public int RegionY;
[XmlElement("????")]
public int RegionHeight;
[XmlElement("????")]
public int RegionWidth;
[XmlIgnore]
public Rectangle Region {get { return new Rectangle(RegionX, RegionY, RegionWidth, RegionHeight);}
//Some other properties and methods...
}
うまくいけば、私に次のようなものを与えます:
<myObject>
<Region>
<X>141</X>
<Y>93</Y>
<Width>137</Width>
<Height>15</Height>
</Region>
...
</myObject>
コードはあまり良くありませんが、XMLは人々によって編集されるので、そこで機能するものを入手するのは良いことです...
「????」に何が入る可能性がありますか?またはこれを行う別の方法?
自分のバージョンのRectangle
...を実装する必要はありません。