之间有什么区别System.Dynamic.ExpandoObject,System.Dynamic.DynamicObject和dynamic?
在哪些情况下你使用这些类型?
我正在寻找一种方法来修改dynamicC#4.0对象上的属性,其属性名称仅在运行时已知.
有没有办法做某些事情(ExpandoObject仅用作示例,这可能是任何实现的类IDynamicMetaObjectProvider):
string key = "TestKey";
dynamic e = new ExpandoObject();
e[key] = "value";
Run Code Online (Sandbox Code Playgroud)
这相当于:
dynamic e = new ExpandoObject();
e.TestKey = "value";
Run Code Online (Sandbox Code Playgroud)
或者是前进反思的唯一途径?
我上课MyClass。我想将其转换为动态对象,以便添加属性。
这就是我所希望的:
dynamic dto = Factory.Create(id);
dto.newProperty = "123";
Run Code Online (Sandbox Code Playgroud)
我得到错误:
WEB.Models.MyClass does not contain a definition for 'newProperty'
Run Code Online (Sandbox Code Playgroud)
那不可能吗?