0
かなり検索しましたが、答えが見つかりませんでした。参照を更新する変数代入?
これは私が持っているものです。
Wrapper _wrap1;
Wrapper _wrap2;
public Wrapper GetWrapper(int num)
{
Wrapper cachedWrapper = num == 1 ? _wrap1 : _wrap2;
if(cachedWrapper == null)
{
cachedWrapper = new Wrapper();
}
return cachedWrapper;
}
私は「cachedWrapper
」は、新たな基準であることを承知している、と_wrap1
または_wrap2
のいずれかへの影響はありません。
私は、これらのフィールドを更新するためのエレガントな方法を探しています。if文を追加する必要はありません。
私のクラスには2つのラッパー以上のものがたくさんあります。また、「ラッパー」以外のタイプもあります。
おかげ
はフィールドだけを初期化します。 – Servy
[C#7]を待つことができますか(http://stackoverflow.com/documentation/c%23/1936/c-sharp-7-0-features/19197/ref-return-and-ref-local#t= 201608112135378343854)? – Blorgbeard
2つのラッパーよりも「もっとたくさんの」ラップトップがある場合は、おそらくインスタンスごとに1つのフィールドを持つのではなく、辞書に入れる必要があります。 – Blorgbeard