だから私は次のように内部にラッパークラスを持つクラスを持っています:
public class RandomClass<TK, TV>
{
internal class RandomClassWrapper<TK, TV> : RandomClass<TK, TV> {}
}
これは、RandomClassWrapperがnew
キーワードを使用して、RandomClassの一部のメソッドの動作をオーバーライドしているためです。これは、ライブラリがこれらの関数にアクセスできるようにしたいだけだからです。
また、RandomClassのいくつかのプライベート変数を変更する必要があるため、ネストされています。
しかし、これを初期化したいときは、行かなければなりません
var rc = new RandomClass<int, int>.RandomClassWrapper<int, int>();
なぜそれが最初に<int, int>
必要なのですか?なぜこのように書くことができなかったのですか?
var rc = new RandomClass.RandomClassWrapper<int, int>();
<int, int>
次のようなものに変わる可能性のある余分なものを入力する必要がないようにする方法はありますか?<Dictionary<string, nameofclass>, List<thisistoolong>>
それは誇張ですが、あなたは私が何を意味するのか理解しています。これらのタイプを2回配置しなければならないことは、スペースの大きな浪費です。
誰かが別のアプローチを提案できますか?
これは質問を少し明確にするのに役立つので、次の2つのコメントに注意を向けます。
それで、あなたの質問は「なぜコンパイラはRandomClassへの引数からRandomClassWrapperへの一般的な引数を推測できないのですか?– EdS.3分前
@EdS。それは質問の1つの要素です、はい。もう1つは、次のとおりです。できないので、これをクリーンアップして、一般的な引数を2回入力する必要をなくすことができる代替のアプローチ/ハックはありますか。–今すぐcaesay