C#:动态添加字段到类

Ste*_*Lam 2 c# dynamic

我搜索谷歌但结果却是误会.
这是一个代码流程:

public class Store
{
     public dynamic GetList(List<string> propertyFields)
     {
          // Body here
          // for in list propertyFields. Such as: ["Code", "Name", "Address", ...]
          // dynamic result = ...
          // result.Code = "value", result.Name = "abc", result.Address = "homeless", result.... = "..."
          // return result
     }
}
Run Code Online (Sandbox Code Playgroud)

方法返回一个动态对象.
propertyFields是字段名称列表.当我在列表中传递4个字符串时,dynamic有4个属性字段值(稍后).
当我调用这个方法时:

Store store = new Store(); 
var rs = store.GetList(["Code","Name","Address"])
Console.WriteLine(rs[0].Code)
Run Code Online (Sandbox Code Playgroud)

这是我的观点.
我的问题:是否有可能在C#中做到这一点?

Eri*_*ert 11

您已经混淆了dynamic,这是一个编译器功能,意味着"将此对象的使用延迟到运行时的分析",ExpandoObject这意味着"可以在运行时添加属性的对象".

这是一个可以理解的混乱; 许多缺少静态类型检查的语言也有expando对象.