2

実行時にコードで型指定されたデータセットのインスタンスを動的に作成しようとしています。私は利用可能なタイプを持っていますが、これをしようとすると:

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

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

4

2 に答える 2

3

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

アセンブリ修飾名を指定しない限り、呼び出し元のアセンブリとその他のいくつかの主要なアセンブリのみが検索されます。オプション:

  • アセンブリ修飾名を使用する ("somen.amespace.sometype, someassembly, ...")
  • Assembly(そのアセンブリの既知の型から) インスタンスを取得し、インスタンスで使用GetType(fullyQualifiedName)しますAssembly
于 2009-06-02T21:27:42.637 に答える
0

正しいデータセット コードを発行していると仮定すると、アセンブリの読み込みも必要になる場合があります。

次の .net 名前空間の Reflection.emit と Reflection を調べてください。

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

于 2009-06-02T21:29:09.263 に答える