2013-07-24 35 views
2

收集我有一個類:序列化只讀而無需實現IXmlSerializable的

[Serializable] 
public class Profile 
{ 
    [XmlAttribute] 
    private string[] permissions; 
    public string[] Permissions 
    { 
     get { return permissions; } 
     set { permissions = value; } 
    } 
} 

我想序列化的XML與XmlSerializer的,我也必須要符合的FxCop。問題是FxCop只想公開屬性的只讀集合,但是ReadOnlyCollection當然不是可序列化的。我不想實現IXmlSerializable,因爲這太痛苦了。 有沒有其他解決方案?

+0

您正在使用哪個序列化器?我問,因爲XmlAttribute不適用於集合或專用字段 - 並且Serializable不被XmlSerializer使用 –

+0

我使用XmlSerializer – Peekyou

+0

K;目前,這些屬性都沒有任何用處 - 您可能想要刪除[Serializable]和[XmlAttribute]以避免混淆 –

回答

0

選項:

  • 你可以使用一個List-的字符串,而不是字符串數組;這不需要setter,因爲可以直接操作集合
  • 你可以接受fxcop總是會泛化,有時泛化不適合你的特定上下文 - 意思是:簡單地忽略fxcop in這種情況下
相關問題