gpt4 book ai didi

c# - 通过 UnaryExpression 访问对象属性值

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:08 24 4
gpt4 key购买 nike

如何通过匹配 UnaryExpression“成员名称”而不使用“直接”反射来获取对象属性值?

public object DoSomething<T>(UnaryExpression uExp, T obj)
{
object res = null;
// NOTE: UnaryExpression contains a property from T type.
// TODO: get UnaryExpressionMatchingProperty value

// res = obj.UnaryExpressionMatchingProperty;
return res;
}

最佳答案

如果一元表达式的结构不符合预期,这应该产生值 or null:

var prop = ((uExp.Operand as MemberExpression)?.Member as PropertyInfo);
if (prop?.CanRead == true) { // Needs "== true" because ?. makes Nullable<bool>
res = prop.GetValue(obj);
}

关于c# - 通过 UnaryExpression 访问对象属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38204110/

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