C# 是否可以使用.NET动态对象动态创建属性?
我试图在我的MVC应用程序中创建一个Json,我只想包含源对象的属性,如果它有一些属性值,则设置 例如C# 是否可以使用.NET动态对象动态创建属性?,c#,.net,asp.net-mvc,dynamic,C#,.net,Asp.net Mvc,Dynamic,我试图在我的MVC应用程序中创建一个Json,我只想包含源对象的属性,如果它有一些属性值,则设置 例如 //示例输出。 Aaaa和Ccccc仅具有以下值: 返回Json(新的{Aaaa=source.Aaaa,Cccc=source.cccccc.Value}; 仅设置了Dddd。 返回Json(新建{Dddd=source.Dddd} 看看我是如何在运行中创建匿名对象的。好吧,我可以这样做,因为在这个懊悔的例子中,我知道设置了什么。但是当涉及到真正的代码时,我必须“弄清楚”真正设置了什么,然后
//示例输出。
返回Json(新的{Aaaa=source.Aaaa,Cccc=source.cccccc.Value};
返回Json(新建{Dddd=source.Dddd}
相关报道:henrik,不久前看过expandoobject()的东西。我忍不住同意bob对它的看法:
public class Foo
{
public string Aaaa { get; set; }
public string Bbbb { get; set; }
public int? Ccccc { get; set; }
public Lol Dddd { get; set; }
}
dynamic contact = new ExpandoObject();
contact.Name = "Patrick Hines";
contact.Phone = "206-555-0144";
... etc ...