gpt4 book ai didi

c# - 将类转换为动态并添加属性

转载 作者:太空狗 更新时间:2023-10-30 00:38:17 28 4
gpt4 key购买 nike

我有一个类 MyClass。我想将其转换为动态对象,以便添加属性。

这是我所希望的:

dynamic dto = Factory.Create(id);
dto.newProperty = "123";

我得到错误:

WEB.Models.MyClass does not contain a definition for 'newProperty'

这不可能吗?

最佳答案

以下在过去对我有用:
它允许您将任何对象转换为 Expando 对象。

public static dynamic ToDynamic<T>(this T obj)
{
IDictionary<string, object> expando = new ExpandoObject();

foreach (var propertyInfo in typeof(T).GetProperties())
{
var currentValue = propertyInfo.GetValue(obj);
expando.Add(propertyInfo.Name, currentValue);
}
return expando as ExpandoObject;
}

基于:http://geekswithblogs.net/Nettuce/archive/2012/06/02/convert-dynamic-to-type-and-convert-type-to-dynamic.aspx

关于c# - 将类转换为动态并添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42836936/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com