簡體   English   中英

從列表運行時創建對象及其屬性

[英]Create Object and its Properties at Run-time from List

我需要在運行時創建動態對象及其屬性,然后創建此對象的實例來存儲值。

為什么我要上面的邏輯!

我在C#中讀取excel文件,第一行代碼是標題,它實際上是屬性,后面跟着每一行都是記錄,它是動態對象的實例。

 List<string> ExcelDataHeader = new List<string>();
         for (int y = 2; y <= colCount; y++)
           {
             ExcelDataHeader.Add(xlRange.Cells[headerRow, y].Value2.ToString());
           }

  dynamic MyDynamic = new System.Dynamic.ExpandoObject();
    ??????????

我需要在對象中返回excel讀取數據

可以在這里使用ExpandoObject - 它可以工作,但你需要使用字典API:

IDictionary<string, object> obj = new ExpandoObject();
obj["id"] = 123;
obj["name"] = "Fred";

// this is the "dynamic" bit:
dynamic dyn = obj;
int id = dyn.id; // 123
string name = dyn.name; // "Fred"

但是,我沒有看到這一點。 由於您不會通過obj.PropertyName類的東西在C#代碼中引用該對象,因此dynamic用途很少。 您也可以將每個記錄存儲在Dictionary<string,object>或類似的中。 根據您描述的內容 ,您無法將MyDynamic實際用作dynamic對象。

暫無
暫無

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

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