Simple ExampleDynamicexpando =NewSystem.Dynamic.ExpandoObject ();//dynamic type fields are readable and writableexpando. Id =1; expando. Name="Test";stringJSON = Utils.ConvertJson.JsonEncode (expando);//Output {id:1,name: ' Test '}//Adding fields dynamicallyList<string> FieldList =Newlist<string> () {"Name"," Age","Sex"};//From config or dbDynamicDobj =NewSystem.Dynamic.ExpandoObject ();varDIC = (idictionary<string,Object>) Dobj;foreach(varFielditeminchFieldList) {Dic[fielditem]="Set"+fielditem+"value";/*implement a function like JS dynamic Add property var obj={};var field= "Id"; eval ("Obj." +field+ "=1"); alert (obj. ID); 1*/}varval = dobj. Name;//"Set Name value"varVal1=dobj. Age;//"Set age value"enumerates all members of the objectforeach(varFielditeminch(Idictionary<string, object>) {dobj) {varv = (Fielditem.key +": "+fielditem.value);} Anonymous class//var aaaa = new {id=1,name= "Test"};//anonymous class fields are read-only and not writabledynamicaaaa=New{id=1, name="Test"};//anonymous class fields are read-only and not writableAaaa. Id =2;//non-writable error cannot be a property or indexer "<>F__ANONYMOUSTYPE1<INT>. Id "Assignment-it is read-onlyDynamicobj = Newtonsoft.Json.JsonConvert.DeserializeObject ("{Name: ' AA ', Sex: ' Male ', age:11}");varname = obj. Name.value;//AA
C # Dynamic types and anonymous classes (GO)