0

SQL クエリの結果からオブジェクトをインテリジェントに設定しようとしています。a の結果をループして、SQLDataReaderを使用GetDataTypeName()して、特定のフィールドに保持されているデータ型の文字列表現を取得しています。

Type文字列名を手動でタイプにマッピングせずに、各フィールドのを自動的に取得するにはどうすればよいですか。私は使用してみました:

Type.GetType(reader.GetDataTypeName(), true, true)

(注意、大文字と小文字の区別は無視されます)

ただしGetDataTypeName()、「int」などのプリミティブの文字列を返し、これらは指定された例で TypeLoadExceptions をスローします。

GetType()アセンブリ修飾型名が必要であることを読んだので、DateTime のような非プリミティブ システム型は「System.DateTime」で修飾する必要がありますが、「System」名前空間の前に「int」を付けるだけではプリミティブには役立ちません。このようなタイプ。

4

1 に答える 1

3

ここでは何も解析する必要はありません。ちょうど使用:

Type type = reader.GetFieldType(columnIndex);
于 2013-08-08T13:25:50.977 に答える