質問

実行時にコード内で型付きデータセットのインスタンスを動的に作成しようとしています。利用可能な型はありますが、これを実行しようとすると:

object obj = Activator.CreateInstance(Type.GetType("TYPED DATASET TYPE HERE"));

問題は、コードを実行しようとすると、その型がコードによれば有効ではないように見えることです。ここで何が間違っているのでしょうか?

役に立ちましたか?

解決

型はどこで定義されていますか?(どのアセンブリ)。

アセンブリ修飾名を付けない限り、ファイル内のみが検索されます。 電話をかける アセンブリ、およびその他のいくつかの主要なアセンブリ。オプション:

  • アセンブリ修飾名を使用します (「somen.amespace.sometype, someassembly, ...」)
  • を入手する Assembly インスタンス (そのアセンブリ内の既知の型から) を取得し、使用します GetType(fullyQualifiedName)Assembly 実例

他のヒント

あなたはまた、アセンブリをロードする必要があり、正しいデータセットのコードを放出していると仮定します。

次の.NET名前空間のreflection.emit、および反射に見ます。

また、インターセプターを作成するための新しいクラスを放出するためにリフレクションを使用するなどウィンザーなどのオープンソースプロジェクトで見ることができます。あなたがから学ぶことができ、そこにコードがある場合があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top