これは、遅延初期化される Field の構文です。
public class MyClass
{
string _cat;
public MyClass(string Category)
{
_cat=Category;
}
MyExpensive _expensive;
public MyExpensive Expensive
{
get
{
LazyInitializer.EnsureInitialized(ref _expensive, () = > new MyExpensive ());
return _expensive;
}
}
}
new MyExpensive
しかし、ランタイム ctor params で作成する必要がある場合はどうすればよいでしょうか? (フローロジックによる)
フラグフィールドを作成したくないので、多くのことを行いますIF's
つまり、時には走る必要がありnew MyExpensive ("picture")
、時にはnew MyExpensive ("flowers")
どうやってやるの ?
(各カテゴリの遅延フィールドの作成を除外します - )