是否可以构建将属性名称设置为变量值的动态对象?
例如,这似乎是标准的......
dynamic elem = new Object();
elem.Name = "myName";
Run Code Online (Sandbox Code Playgroud)
但这将如何实施?...
string fn = "FirstName";
string ln = "LastName";
dynamic elem = new Object();
elem.fn = "John";
elem.ln = "Doe";
Run Code Online (Sandbox Code Playgroud)
我可以在哪里调用属性,例如...
string fn = elem.FirstName;
Run Code Online (Sandbox Code Playgroud)
ExpandoObject 还实现了IDictionary<string, object>,这意味着您可以使用字符串键添加属性。
dynamic person = new ExpandoObject();
person.FirstName = "Alex";
var ln = "lastname";
(person as IDictionary<string, Object>)[ln] = "KeySmith";
Run Code Online (Sandbox Code Playgroud)