我正在使用 Linq 过滤一些东西,有时我需要使用反射来获取值。这是示例:
//...
PropertyType[] properties = myType.GetProperties();
var filtered = properties.Where(p=>p.PropertyType==typeof(MyMetaData)
&& ((MyType)p.GetValue(obj)).Name=="name"
&& ((MyType)p.GetValue(obj)).Length==10
).ToList();
//...
在我的示例中,我不止一次使用 GetValue() 方法。如果我可以使用变量来存储它,有没有办法?我认为这将有助于提高性能。