知识大全 C#反射取值 源代码

Posted 反射

篇首语:学习从来无捷径,循序渐进登高峰。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#反射取值 源代码相关的知识,希望对你有一定的参考价值。

C#反射取值 源代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  /// <summary> /// 获取对象中指定name的值 贾世义/// </summary> /// <param name= obj >DataRowView和实体类对象</param> /// <param name= name >字段或类成员</param> /// <returns></returns> public static object GetValue(object obj string name)

   if (obj == null || String IsNullOrEmpty(name))

   return null //DataRow优先if (obj is DataRowView || obj is DataRow)

   return DataHelper GetValue(obj name) //键值集合if (obj is NameValueCollection)

   return ((NameValueCollection)obj)[name] //实现了IDictionary接口的类if (obj GetType() GetInterface( IDictionary true) != null)

   return ((IDictionary)obj)[name] //类反射int p = name IndexOf( ) if (p == )

   int ps = name IndexOf( ( ) if (ps == )

   //属性PropertyInfo pInfo = obj GetType() GetProperty(name) if (pInfo != null)

   return pInfo GetValue(obj null) //字段FieldInfo fInfo = obj GetType() GetField(name) if (fInfo != null)

   return fInfo GetValue(obj) //方法MethodInfo mInfo = obj GetType() GetMethod(name) if (mInfo != null)

   return mInfo Invoke(obj null) else return null else //带参数方法int pe = name IndexOf( ) ) if (pe == )

   pe = name Length MethodInfo mInfo = obj GetType() GetMethod(name Substring( ps)) if (mInfo != null)

   return mInfo Invoke(obj DataHelper GetStrings(name Substring(ps + pe ps ) Replace( ))) else return null else //包含子类string name = name Substring( p) object obj = null PropertyInfo pInfo = obj GetType() GetProperty(name ) if (pInfo != null)

   obj = pInfo GetValue(obj null) else FieldInfo fInfo = obj GetType() GetField(name ) if (fInfo != null)

   obj = fInfo GetValue(obj) if (obj == null)

cha138/Article/program/net/201311/13665

相关参考

知识大全 C#反射浅析

C#反射浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!首先了解C#反射的概念反射是一个运行库类

知识大全 C#反射方法学习总结

C#反射方法学习总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要本文介绍今天把C#反射方

知识大全 c# 反射的使用方法

  在网上查找了不少的资料可以说大同小异概念性的东西网上一搜一堆今天把反射的东西整理了一下供大家使用我保证我这里是最全面的东西当然也是基础的东西在学好了这一切的基础上大家可以学习反射的具体插件等应用老

知识大全 C#利用反射简化给类字段赋值

C#利用反射简化给类字段赋值  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这个例子主要的思路是

知识大全 C#实现更改IP功能源代码

C#实现更改IP功能源代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这是一个很好的源码给大

知识大全 c#利用WebClient和WebRequest获取网页源代码

c#利用WebClient和WebRequest获取网页源代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 根据现有C#代码文件生成扩展代码文件

根据现有C#代码文件生成扩展代码文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为什么在这里

知识大全 C#代码文件生成扩展代码文件的想法

C#代码文件生成扩展代码文件的想法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  看到这标题的朋

知识大全 动态代码的使用(反射和动态生成类)

  在软件开发尤其是框架和底层开发时为了更灵活的控制代码常常需要进行一些动态的操作比如根据用户的输入等动态的调用类中的方法或者根据数据库表结构用户要求动态的生成一些类然后再动态的调用类中的方法当然使用

知识大全 自创C#扫雷代码

趣味编程:自创C#扫雷代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &