我有一个属性是字典的类:
public class Entity
{
public Dictionary<string, string> Name { get; set; }
}
我想切换此属性以使用延迟初始化。我尝试了以下方法:
public class Entity
{
private Lazy<Dictionary<string, string>> name = new Lazy<Dictionary<string, string>>(() => new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase));
public Dictionary<string, string> Name
{
get => name;
set => name = value;
}
}
这当然是一个错误,因为 Name 和 name 有不同的类型。不过,对于我的一生,我无法弄清楚如何正确指定这一点。我真正想要的只是让 Name 在我访问它之前保持为空,然后在第一次读取或写入时创建它。