使用函数T中的T匿名参数验证Linq对象的类型和属性

问题描述

| 在C#中,我有一个可以传递
List<T>
的公共函数。在每种情况下如何验证
T
类型,获取对象的属性的问题?
/// <param name=\"olddatas\">The list of T Linq object,that need to 
/// convert in some column </param>
/// <param name=\"convertedColumn\">example,divide by comma: 
/// \"column1,column2,column3\"</param>
/// <returns></returns>
public static List<T> ConvertData<T>(List<T> olddatas,string convertedColumn)
{
    foreach (var olddata in olddatas)
    {
        //Pase the type of olddata?
        //Get the property of every column in convertedColumn parameter?
    }
    //return new List<T> with some column data in olddatas are changed
}
    

解决方法

        如果您的类型共享基类或接口,则可以将方法限制为该接口,并直接访问该接口的成员。 如果它们是不相关的
T
类型,则可能要考虑对每种类型使用单独的方法重载。这比检查方法内部的类型并分别处理每个类型所引起的混乱要容易维护得多。 话虽如此,您可能要考虑只使用Linq的
Select
方法,而不是自己的
ConvertData<T>
。 “ 4”用于映射操作-将数据从一种形式转换为另一种形式。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...