dynamic x = new ExpandoObject { Foo = 12, Bar = "twelve" };
如果这真的不可能,有没有另一种单行的方法来实例化具有两个属性的ExpandoObject为什么C#团队会选择禁止使用与常规对象、匿名对象和可枚举项/列表相同的初始化语法?多亏了Hans Passant的回答,我意识到ExpandoObject是不适合这项工作的工具。我的真正目标是使用C#的动态特性从一个方法返回</
我有两个类似的静态扩展方法,一个是IEnumerable,另一个是T。它们每个都返回一个ExpandoObject,我有两个用于优化目的,因为我在每个方法中都使用反射。如果我通知输出的类型,而不是使用var,如下面所示,它仍然选择对象方法,并且只返回一个ExpandoObject,而不是其中的一个IEnumerable:
IEnumerable<MyObj> data= new List<MyObj>(); var result
我理解并喜欢将查询和命令分开的想法,命令是检索域对象并可能改变其状态的命令。查询遵循单独的命令代码路径是有意义的,即直接从存储库检索信息,而不是通过域对象检索信息,特别是考虑到可能需要为视图检索域对象的数千个部分(您不一定要为几个字段带回所有对象)。但是,考虑到以下对象,其中其状态取决于内部域(即业务)逻辑:{
public bo