是否可以使用.NET动态对象动态创建属性?
我正在尝试在我的MVC应用程序中创建一些Json,我只想包含源对象中的属性,如果它有一些属性值,则设置。
例如。
public class Foo { public string Aaaa { get; set; } public string Bbbb { get; set; } public int? Ccccc { get; set; } public Lol Dddd { get; set; } }
// Example Outputs.
-
Aaaa和Ccccc只有值:
return Json(new { Aaaa = source.Aaaa, Cccc = source.Ccccc.Value };
-
Dddd只被设定了。
return Json(new { Dddd = source.Dddd }
看看我是如何试图动态创建一个匿名对象。 嗯,我能做到这一点,因为在这个懊悔的例子中,我知道是什么。 但是当谈到实际代码时,我必须“弄清楚”实际设置的内容然后动态返回。
这个想法是基于Stack Exchange的Api Wrapper ..它们有一些可选的值,如果它们被设置,它们将通过json返回。
看一下ExpandoObject , 这里给出了一个带xml的例子
例如。
dynamic contact = new ExpandoObject(); contact.Name = "Patrick Hines"; contact.Phone = "206-555-0144"; ... etc ...
- entity framework:获取Repository中的Subclass对象
- 是否可以在C#中使用分支预测提示?
- 强制EventProcessorHost将失败的Azure Event Hub eventData重新传递给IEventProcessor.ProcessEvents方法
- 为什么在webservice中的方法在c#中返回Arraylist时发生exception?
- 在Winforms中控制用户工作流程
- 我们需要在multithreading代码中读取.NET Int32时锁定它吗?
- 在WinForms线程上使用CoInitializeEx
- 查看是否在使用reflection的方法内调用方法
- Wpf – 接收框架元素属性的属性值更改通知