gpt4 book ai didi

c# - 检查 T 对象是否具有属性并设置属性

转载 作者:行者123 更新时间:2023-11-30 15:23:53 25 4
gpt4 key购买 nike

你好,我有一个通用方法

public async Task<T> MyMethod<T>(...)
{
//logic here...
}

我想在这个方法中检查 T 对象是否有一个特定的属性,然后为这个属性设置一个值:

我已经尝试创建一个动态对象并执行如下操作:

var result = default(T);
dynamic obj = result;

Error error = new Error();
error.Message = "An error occured, please try again later.";
error.Name = "Error";

obj.Errors.Add(error);
result = obj;

return result;

但是好像不行。

最佳答案

您应该使用object.GetType 获取对象的运行时类型,然后您可以使用Type.GetProperty 检查它是否具有特定属性。 , 如果是,请调用 PropertyInfo.SetValue :

PropertyInfo pi = obj.GetType().GetProperty("PropertyName");
if (pi != null)
{
pi.SetValue(obj, value);
}

关于c# - 检查 T 对象是否具有属性并设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784941/

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