簡體   English   中英

在 C# 中從字典創建匿名類型的對象

[英]Create a object of anonymous type from a dictionary in c#

一些字典, "key1" = "Value1, "key2" = "Value2", ... . 我需要創建一個對象

{ key1 : "Value1", key2 : "Value2", ... }

您不能在運行時創建匿名類型的對象。 盡管匿名類型是匿名的,但它們是靜態類型,即它們的成員在編譯時是已知的。 除非你的字典的所有鍵和值在編譯時都是已知的(這實際上違背了目的)你不能從字典中創建一個靜態類型。

下一個最接近的事情是使用帶有ExpandoObjectdynamic類型:

dynamic obj = new ExpandoObject();
var tmp = (IDictionary<string,object>)obj;
foreach (var p in dict) {
    tmp[p.Key] = p.Value;
}

現在你可以寫

Console.WriteLine("{0} {1}", obj.key1, obj.key2);

這將編譯並運行,只要dict cn包含鍵key1key2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM