C#ドキュメントでは、タイプをローカルスコープに持たせるためにusing
指示を推奨しています。実際、私は次のようなことをすることができます:C#でパラメータ化された型エイリアスを定義することはできますか?
using DD = IDictionary<string,IDictionary<string,Blah>>;
それはうまくいきます。そのようなタイプの同義語を表現する方法ではなく、すべての恐ろしく長い一般的な名前を繰り返すことで、あり
using DD<Blah...
^; expected
:しかし、私が行うことができるようにしたいと思います:
using DD<Blah> = IDictionary<string,IDictionary<string,Blah>>
をしかし、コンパイラがで死にますどこか?私は読み取り専用のコレクションの出力形式に一般的な、再帰的なラッパーを記述することが可能であったかどうかを知りたいと思った
コンテキスト
。次のインターフェイス
interface IIndexable<in In, out Out> { Out this[In idx] { get; }}
で、私は私は本当にHaskellの型クラスFunctor
の利便性をエミュレートしようとしていると思います
IIndexable<Key,VOut> map(IIndexable<Key,VIn> coll, Func<VIn, VOut> f)
を書くことができました。
したがって、私の複合型をカスタムクラスにラップすると、それは、map()
のスタックからアセンブルされ、カスタムラッパークラスに置き換えるための単一のnew
呼び出しがありません。
ありがとう。私は達成しようとしていることについてより多くの文脈を提供するために質問を展開します、おそらくそれは明らかになります! – b0fh