実行時にsqldatareaderのフィールド名を動的オブジェクトに動的に割り当てる方法を教えてください。私が言うことができない実行時に動的オブジェクトのプロパティとしてリテラル文字列を割り当ててアクセスする
string sqlDataReaderFieldNameStringVariable = reader.GetName(index);
:
dynamic dyn = new ExpandoObject();
dyn.sqlDataReaderFieldNameStringVariable = "test";
私はそれをどのように行うことができます
は、私は変数にSqlDataReaderののフィールド名を読んでいると仮定しましょうか?
UPDATE:私は私のDYNオブジェクトがメソッドの戻り値であるタイプExpandoObjectのリストに追加するポイントを;-)取得するために、まだ
時間。データを介してリストにアクセスするとき[0] .testプロパティはコンパイル時に存在しません???
私はリストを返す方法のこの外の操作を行います。私はそれをキャストしなければならないのはなぜ
dynamic bla = (ExpandoObject)data[0];
String shit = bla.Name;
?回避策はありますか?ありがとうジョン。
ちょうど '一覧'代わりに –
BrokenGlass
を返し、これは素晴らしいです! P – Pascal
それは「票」と呼ばれていますが、あなたの27の質問のすべてで2つの回答をアップvしただけなので、私は息を止めません;-) – BrokenGlass