首页 > 解决方案 > 按值过滤对象属性的最佳方法

问题描述

class Sample
{
    public type1 Prop1 {get; set;}
    public type2 Prop1 {get; set;}
    public type3 Prop1 {get; set;}
    .
    .
    .
    .
    .
    public typen Propn {get; set;}
    
}

问题如下:假设我有一个 Sample 对象列表。我必须提供通过特定值过滤特定属性的对象的功能。方法应该如下:

List<Sample> filter(string propertyName, string value)
{
    ...
}

我想出的直观方法是在 propertyName 上切换大小写,尝试将输入值解析为其真实类型,然后进行比较。令我不安的是,如果对象具有许多属性,则此解决方案会导致逻辑重复。我的问题是您是否知道不使用反射的更好解决方案。

谢谢。

标签: c#

解决方案


推荐阅读