首页 > 其他分享 >反射

反射

时间:2023-08-02 16:33:45浏览次数:40  
标签:反射 string pListForJoin List GetValue ToUpper ltgAfterFilter

using System.Reflection;

 

public static string Join<T>(List<T> pListForJoin, string pPropertyName, string pSeparator, string pEnclosed)
        {
            if (pListForJoin.Count > 0)
            {
                List<Object> ltgAfterFilter = new List<Object>();
                for (int i = 0; i < pListForJoin.Count; i++)
                {
                    foreach (PropertyInfo p in pListForJoin[i].GetType().GetProperties())
                    {
                        if (p.Name.ToUpper().Equals(pPropertyName.ToUpper()))
                        {
                            if (p.GetValue(pListForJoin[i]) == null)
                            {
                            }
                            else
                            {
                                ltgAfterFilter.Add(p.GetValue(pListForJoin[i]));
                                break;
                            }
                        }
                    }
                    //没有get;set;时使用的
                    foreach (FieldInfo f in pListForJoin[i].GetType().GetFields())
                    {
                        if (f.Name.ToUpper().Equals(pPropertyName.ToUpper()))
                        {
                            if (f.GetValue(pListForJoin[i]) == null)
                            {
                            }
                            else
                            {
                                ltgAfterFilter.Add(f.GetValue(pListForJoin[i]));
                                break;
                            }
                        }
                    }
                }
                return Join(ltgAfterFilter, pSeparator, pEnclosed);
            }
            else
            {
                return "";
            }

        }

标签:反射,string,pListForJoin,List,GetValue,ToUpper,ltgAfterFilter
From: https://www.cnblogs.com/tfeblog/p/17601047.html

相关文章

  • 硬件管理平台-硬件产品库-反射模块
    硬件产品库-反射模块公共项目改进在公共项目中对当前目录进行分组,主要按照使用场景进行划分按照上一章所描述的顺序进行1-4的划分,其中公共包为所有项目共用的代码,虽然该部分是编写期间随时进行编写的,但是按照个人习惯,喜欢将公共部分放到最上面。界面布局该项目暂不涉及酷炫......
  • 依赖注入(DI)、控制反转(IOC)、反射的区别和联系?
    实现IOC控制反转的技术叫做反射。而反射通俗的说,反射就是根据给出的类名(字符串)来生成对象。这种编程方式可以让应用在运行时才动态决定生成哪一种对象。反射的应用是很广泛的,像Hibernate、Spring中都是用“反射”做为最基本的技术手段。其实可以把IoC模式看作工厂模式的升华,把IoC......
  • Linux 下的 OpenGL 之路(九):天空盒、反射和折射
    前言搞定了天空盒,才算是真正完成了场景的搭建,以后再要进行什么样的图形学测试,都可以在这个场景下进行。比如后面的反射、折射就是这样的例子。写完这篇,我决定暂时结束这个系列。主要是因为我太懒了,居然拖拖拉拉拖了两年。其实可以探索的内容还有很多,比如阴影啊、HDR啊、辉光啊、......
  • 反射的有关用法
    packagefanshe;publicclassFanshe{publicstaticvoidmain(String[]args){//第一种方式获取Class对象Studentstu1=newStudent();//这一new产生一个Student对象,一个Class对象。ClassstuClass=stu1.getClass();//获取Class对......
  • 反射将值转换为特定类型
     1.给定一个实参,以及期望类型private<T>TgetValueByClass(Objectobj,Class<T>cs){Stringobj2=String.valueOf(obj);Objectobj3;if(cs.equals(String.class)){obj3=obj2;}elseif(cs.equals(int.cl......
  • 2023-7-26 Dynamic替代部分反射的简单实现方式
    Dynamic与反射的使用【作者】长生实体类publicclassSchool{ publicintGetAge(){ return100;}}使用反射获取对象里的方法 Schoolschool=newSchool(); varmethod=typeof(School).GetMethod("GetAge"); intage=(int)method.Invoke(school,null); Console.W......
  • 反射 p5 反射相关使用和暴破
    反射相关使用和暴破通过反射创建对象方式一:调用类中的public修饰的无参构造器;方式二:调用类中的指定构造器;Class类相关方法:newInstance():调用类中的无参构造器,获取对应类的对象;getConstructor(Class...clazz):根据参数列表,获取对应的public构造器对象;getDecalaredConstruct......
  • 2.反射
    反射调用类ioc反射调用方法MVCURL地址一般是类名称+方法名反射操作属性和方法反射操作属性字段ORM模型转换(有点意思)publicstaticvoidCoventClass<D>(Peoplep,refDd)whereD:new(){Typet1=d.GetType();//......
  • 反射 p4 反射获取类的结构信息
    反射获取类的结构信息关于Class的APIgetName:获取全类名getSimpleName:获取简单类名getFields:获取所有Public修饰的属性,包含本类及其父类(不仅仅是直接父类)getDeclaredFields:获取本类中的所有属性,不包括父类getMethods:获取所有public修饰的方法,包含本类及其父类的(不仅仅是直......
  • 反射 p3 类加载
    类加载基本说明反射机制是Java实现动态语言的关键,也就是通过反射实现类动态加载。静态加载:编译时加载相关的类,如果没有则报错,依赖性太强。动态加载:运行时加载相关的类,如果运行时不用该类,即使不存在该类,也不会报错,降低了依赖性。代码演示:importjava.util.*;importjava......