将属性添加到动态对象的属性

时间:2017-08-17 18:17:27

标签: c# .net dynamic dynamic-programming expandoobject

我想基于其他对象的属性和属性创建一个动态对象,但我不知道如何向动态属性添加属性,也不知道如何将它们恢复。 那可能吗?

这是我的代码,但它不起作用。谢谢!

var expando = new ExpandoObject() as IDictionary<String, Object>;
var props = typeof(Costumer).GetProperties();

foreach (var prop in props)
{
    var customAttributes = prop.GetCustomAttributes(true);
    var displayAttr = customAttributes.OfType<DisplayAttribute>();
    expando.Add(prop.Name, prop.PropertyType);
    TypeDescriptor.AddAttributes(expando[prop.Name],displayAttr.SingleOrDefault());
    var getAttribute = TypeDescriptor.GetAttributes(expando[prop.Name]);
}

0 个答案:

没有答案