辞書であるプロパティを持つクラスがあります:
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をnullのままにして、最初の読み取りまたは書き込みで作成することです。