Pau*_*aul 26 c# dynamic expandoobject
有没有办法将属性添加到与字符串值同名的ExpandoObject?
例如,如果我有:
string propName = "ProductNumber";
dynamic obj = new System.Dynamic.ExpandoObject();
Run Code Online (Sandbox Code Playgroud)
我可以创建属性ProductNumber,如:
obj.ProductNumber = 123;
Run Code Online (Sandbox Code Playgroud)
但是,我可以obj.ProductNumber根据字符串创建属性propName吗?所以,如果我不知道该属性的名称将是什么,我可以根据此输入创建它.如果使用ExpandoObject无法做到这一点,那么我应该研究C#的其他任何领域?
pho*_*oog 42
ExpandoObject实现IDictionary<string, object>:
((IDictionary<string, object>)obj)[propName] = propValue
Run Code Online (Sandbox Code Playgroud)
我不知道你是否可以使用带dynamic引用的索引器语法(即没有强制转换),但你可以尝试并找出答案.
Bro*_*ass 15
投了ExpandoObject一个IDictionary<string,object>做到这一点:
string propName = "ProductNumber";
dynamic obj = new System.Dynamic.ExpandoObject();
var dict = (IDictionary<string,object>)obj;
dict[propName] = 123;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13552 次 |
| 最近记录: |