0
我有一個對象,我需要序列化。該對象包含多個屬性,包括一個List。 FXCop抱怨說我不應該公開通用列表,但是我得到了這個結果,因爲我不能在我想要序列化的對象上指定一個基於接口的屬性,我不確定接下來要轉向哪裏。需要Seriazlize列表<object>,但FXCop抱怨「不要暴露通用列表」
有什麼想法?
順便說一句,我使用的是XMLSerialization,但這不是必需的。
我有一個對象,我需要序列化。該對象包含多個屬性,包括一個List。 FXCop抱怨說我不應該公開通用列表,但是我得到了這個結果,因爲我不能在我想要序列化的對象上指定一個基於接口的屬性,我不確定接下來要轉向哪裏。需要Seriazlize列表<object>,但FXCop抱怨「不要暴露通用列表」
有什麼想法?
順便說一句,我使用的是XMLSerialization,但這不是必需的。
我接受了FxCop的建議,並將我的列表包裹在一個集合中。這使我的一些代碼失去了水,但經過一些調整後,我又開始運行了。
這裏是展示一些代碼前後:
前:
public class PersistentDataView
{
public string Title { get; set; }
private List<object> Inputs { get; set;}
}
後:
public class PersistentDataView
{
private List<object> _inputs;
public string Title { get; set; }
public Collection<object> Inputs
{
get
{
if (_inputs == null)
_inputs = new List<object>();
//Wrap the private field into a collection.
return new Collection<object>(_inputs);
}
}
}