主に
クラスを作るのが面倒くさい時
に KeyValuePair<> を使ってしまう。
例えば、コマンドオブジェクトを作ろうとする時は
var commands = new Directory<string, KeyValuePair<string, Action>> {
"logout", new KeyValuePair<string, Action>("ログアウト" , () => { /* -- 実装 --*/ }),
"cut" , new KeyValuePair<string, Action>("切り取り" , () => { /* -- 実装 --*/ }),
"copy" , new KeyValuePair<string, Action>("コピー" , () => { /* -- 実装 --*/ }),
"paste" , new KeyValuePair<string, Action>("貼り付け" , () => { /* -- 実装 --*/ }),
};
みたいな感じ。
重なるとわかりにくいから、上記のようにせいぜい 2 つくらいだけど。
もう少し多くしたい場合もあるから、Action とか Func デリゲートみたいに、こういうクラスとか作ってほしいな。
public class Hoge<T> {
public T Value { get; set; }
}
public class Hoge<T, T> {
public T Value1 { get; set; }
public T Value2 { get; set; }
}
public class Hoge<T, T, T> {
public T Value1 { get; set; }
public T Value2 { get; set; }
public T Value3 { get; set; }
}
:
:
つづく
:
みたいなw
既にあるのかな?
なければ作ろう・・・・というか上ので既にできている訳だけど。