タイプTObjectを必要とするクラスにクラスタイプを動的に渡すことができるかどうか知りませんか?必要なクラスに動的タイプを渡す方法<TObject>
私のコントローラクラスは、次のように宣言されている:私は「TObjectのは、」いくつかの状況では、実行時にどうなるか分からないので、私は何かを行う方法があるかどうかを知りたい
public class DataController<TObject> where TObject : class
私が下にしようとしているもののように?このコードはヒット時までに、私はタイプを知っているし、私がこのように、このメソッドに渡していた、「T」に保存されている:「t」は同じように使用される変数であるよう
private void RefreshGrid(Type t, DataGridView ctl)
{
DataController<t> cDataController = new DataController<t>();
//... other stuff
cDataController = null;
}
はもちろん、ここでの構文は失敗します型、コンパイラは正式に私に教えてくれます。
事前に感謝します。
あなたは 'RefreshGrid'ジェネリックも作成できませんか? ( 'private void RefreshGrid(DataGridView c)T:TObject') –
あなたのご意見ありがとうございますが、どのように役立つか分かりません。 RefreshGridメソッドのタイプがであるかどうかは関係ありません。実際のオブジェクト(ではなく)のメソッド内でDataControllerをまだインスタンス化する必要があるためです。 –
さて、あなたのコードがどのように機能するかについてもっと詳しく説明できますか?あなたの例では、 'RefreshGrid'がどこでどのように呼び出されていますか?あなたは実際のオブジェクトを渡すのではなく、型だけを渡しています。あなたは新しいインスタンスを作成したいですか?あなたは呼び出しコードを投稿できますか? –