例如,我有一个带有配置文件设置的Profile类,并希望提供几个具有相应设置的默认配置文件。 最好的方法是什么?
我知道.NET中有一些具有此类功能的类 - 比如String及其静态String.Empty属性。
1。我目前的方法是
public static readonly ICollection<Profile> DefaultProfiles;
Profile类中的字段。该字段填充了Profile的静态构造函数中的默认配置文件。
2。此方法的不良情况是序列化 - 序列化不需要静态,不需要只读成员。因此,要使用默认配置文件序列化我的配置文件,我必须创建特殊的非静态,而不是readonly属性。但我也希望Profile类的实体在序列化之前没有新的个人默认配置文件列表(当然它不能在它之后)。我能这样做吗?
[Serializable]
public class Profile
{
public static readonly ICollection<Profile> DefaultProfiles;
public List<Profile> DefaultProfilesToSerialize
{
get { return new List<Profile>(DefaultProfiles);; }
}
}
因此,如果没有DefaultProfilesToSerialize的任何支持字段,则每个Profile实例只有一个默认配置文件实例。我是对的吗?