- - PR -
System.Data.DataSet Type取得
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-09-07 15:19
toppoです。
C# で string typeString = "System.Data.DataSet"; Type type = Type.GetType( typeString ); でtypeにnullが返却されてしまいます。 "System.Int32" などは問題なくTypeが取得できます。 "System.Data.DataSet"の他にも "System.Data.DataRow"なども取得できません。 ちなみに、 Type type = typeof( System.Data.DataSet); であれば、問題なく取得できます。 文字列から、Typeを取得できる方法が分かる方がいれば、 よろしくお願いします。 以上。 | ||||
|
投稿日時: 2004-09-07 18:25
簡単に言えば、"System.Data.DataSet"だけでは、一意ではありません。アセンブリ、エビデンスを含め完全に一致させてあげないと、特定できない(見つけることが出来ない)ということです(Type.GetType()メソッドの検索方法はドキュメントに書いてないので解りませんが…)。
コードとしては、
たぶんこんなかんじになると思います(動作未確認)。 ただ、まじめにやるとすごく大変なので、素直に typeof(System.Data.DataSet) とやるほうが賢明です。 | ||||
|
投稿日時: 2004-09-07 19:13
System.Dataアセンブリに限定するのであれば、
System.Reflection.Assembly assembly = typeof(System.Data.DataTable).Assembly; Type t = assembly.GetType("System.Data.DataSet"); typeofの中身は、System.Data内の任意のクラスをすればよい。 参考 http://www.atmarkit.co.jp/fdotnet/dotnettips/175createctrl/createctrl.html |
1