gpt4 book ai didi

c# - foreach (where x => x.PROPERTY),如何设置PROPERTY?

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:46 25 4
gpt4 key购买 nike

我有一个 Object Student,我通过下面的这个方法得到属性的值之一

System.Reflection.PropertyInfo propValue = typeof(Student).GetProperty(s);

假设 s(我传递给 GetProperty 的字符串)是名为“StudentName”的属性。然后我想根据存储在 propValue 中的该属性运行搜索,例如:

foreach (Student stu in formStudents.Where(x => x.propValue == "John"))

但是这不起作用,因为 x.__ 仅填充 Student 的属性(即使 valueProp 包含 Student 的有效属性)。

我如何覆盖它以便将 propValue 读取为学生的实际值,或者其他什么方法对我有用?

谢谢

最佳答案

由于 propValue 是一个 PropertyInfo 对象,您需要使用 GetValue方法

foreach (Student stu in formStudents.Where(x => ((string)propValue.GetValue(x, null)) == "John"))

但是,从问题的描述来看,您似乎可以通过查看 Dynamic Linq 让您的生活更轻松。图书馆(也可在 NuGet 上获得):

using System.Linq.Dynamic;

...

foreach (Student stu in formStudents.Where("StudentName = @0", "John"))

关于c# - foreach (where x => x.PROPERTY),如何设置PROPERTY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23571310/

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