[解決済み] Dictionary<string, object>を匿名オブジェクトに変換する?
2023-05-04 08:02:46
質問
まず、わかりやすくするために、私のシナリオを上から順に説明します。
次のようなシグネチャを持つメソッドがあります。
public virtual void SendEmail(String from, List<String> recepients, Object model)
私がしたいことは、モデルオブジェクトのプロパティと同様に最初の2つのパラメータを持つ無名オブジェクトを生成することです。モデルオブジェクトをPropertyInfo[]にフラット化するのは非常に簡単です。そこで、PropertyInfo と最初の 2 つのパラメータを保持する Dictionary を作成し、キーがプロパティの名前、値がプロパティの実際の値である匿名オブジェクトに変換することを考えた。
それは可能ですか?他の提案はありますか?
どのように解決するのですか?
どうしても辞書を、辞書の項目をプロパティとして持つオブジェクトに変換したい場合は
ExpandoObject
:
var dict = new Dictionary<string, object> { { "Property", "foo" } };
var eo = new ExpandoObject();
var eoColl = (ICollection<KeyValuePair<string, object>>)eo;
foreach (var kvp in dict)
{
eoColl.Add(kvp);
}
dynamic eoDynamic = eo;
string value = eoDynamic.Property;
関連
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 辞書から要素を削除する
-
[解決済み] 2つのリストを辞書に変換するにはどうしたらいいですか?
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。
-
[解決済み] オブジェクトと辞書の対応付け、およびその逆