実行時にsqldatareaderのフィールド名を動的オブジェクトに動的に割り当てるにはどうすればよいですか?
SqlDataReaderのフィールド名を変数に読み込んだとしましょう。
string sqlDataReaderFieldNameStringVariable = reader.GetName(index);
私は言えない:
dynamic dyn = new ExpandoObject();
dyn.sqlDataReaderFieldNameStringVariable = "test";
どうやってやるの?
アップデート:
まだポイントを取得する時間です;-)メソッドの戻り値であるExpandoObject型のリストにdynオブジェクトを追加します。data [0]を介してリストにアクセスすると、コンパイル時にtestプロパティが存在しません???
リストを返すメソッドの外でこれを行うと、次のようになります。
dynamic bla = (ExpandoObject)data[0];
String shit = bla.Name;
なぜキャストしなければならないのですか?回避策はありますか?ジョンありがとう。