我希望类有自己的预定义实例 - 最好的方法?

时间:2016-07-08 06:05:46

标签: c# serialization

例如,我有一个带有配置文件设置的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实例只有一个默认配置文件实例。我是对的吗?

0 个答案:

没有答案