ジェネリッククラスを作成しましたが、設計ではなく実行時の型がわかるので、実行時に型を設定する方法を知りたいです。
たとえば、私は持っています:
public class MyGenericClass<T>
{
....
}
それから私はそれを使用しようとします。このジェネリック クラスを使用する他のクラスのメソッドがあります。このクラスのコンストラクターでは、必要な型をパラメーターとして受け取るため、必要な型を保存する型プロパティがあります。だから私はこれを試しています:
MyGenericClass<_typeNeeded> myClass = new MyGenericClass<typeNeeded>();
しかし、これはうまくいきません。
作成したクラスで実行時に型を設定するにはどうすればよいですか?
C#4.0を使用しています。
ありがとう。ダイムロック。
編集:私がやりたいことは次のとおりです。データベースに対していくつかのクエリを実行する必要があるクラスがあります。このクエリは常に同じ情報 (クラス) を返しますが、このクラスを含む情報は異なるテーブルから取得されます。これは、使用するクエリを決定する必要があるためです。使用するクエリを決定するには、受け取った型を使用します。
このため、設計では型がわかりませんが、実行中です。
クラスに実装されるインターフェイスを使用し、正しいクラスでインスタンス化されたインターフェイスを使用できますが、これにより、インスタンス化の瞬間にスイッチまたはifが発生し、これを回避しようとしています、もっと一般的なものが欲しいです。また、このソリューションを使用して、インスタンス化の瞬間に if を使用すると、汎用クラスを作成できるため、クラスが 1 つだけになり、保守が容易になります。