dynamic expando = new system.dynamic.expandoobject(); //動態型別字段 可讀可寫
expando.id = 1;
expando.name = "test";
string json = utils.convertjson.jsonencode(expando); //輸出
listfieldlist = new list() ; //from config or db
dynamic dobj = new system.dynamic.expandoobject();
var dic = (idictionary)dobj;
foreach (var fielditem in fieldlist)
;var field="id";
eval("obj."+field+"=1");
alert(obj.id); //1 */
}var val = dobj.name; //「set name value」
var val1=dobj.age;//」set age value「
foreach (var fielditem in (idictionary)dobj)
//var aaaa = new ; //匿名類欄位唯讀不可寫
dynamic aaaa = new ; //匿名類欄位唯讀不可寫
aaaa.id = 2; //不可寫 報錯無法為屬性或索引器「<>f__anonymoustype1.id」賦值 - 它是唯讀的
dynamic obj = newtonsoft.json.jsonconvert.deserializeobject("");
var name = obj.name.value; //aa
匿名型別和Object轉換
本文 但是開發中遇到乙個問題,當把匿名型別作為返回值的時候,會變成object型別,如果才能再轉換能對應的匿名型別呢?返回匿名型別的函式,會轉換成object型別 object returnanonymous void main console.writeline typed.city,typed....
隱式型別 型別推斷 和匿名型別
一 隱式型別 型別推斷 編譯時能確定資料型別 var 型別在編譯的時候能確定資料型別,是隱式型別,也是強型別 var s sf var i 1 var ints new int var t 報錯,編譯的時候不能推斷出型別 以上都是型別推斷。二 匿名型別 var ints new 1 var car ...
匿名型別與匿名物件
var匿名型別 推斷型別 var可代替任何型別,編譯器會根據上下文來判斷你到底是想用什麼型別,類似 object,但是效率比object高點。我們可以賦予區域性變數推斷 型別 var而不是顯式型別。var 關鍵字指示編譯器根據初始化語句右側的表示式推斷變數的型別。推斷型別可以是內建型別 匿名型別 使...