利用反射获得类的public static/const成员的值实例

 更新时间:2016年12月30日 09:04:23   投稿:jingxian  
下面小编就为大家带来一篇利用反射获得类的public static/const成员的值实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

首先,我们定义一个类:

class CDynamic
 {
#if true
 public const string TableName = "p_battlerecord"; // OK
 //public static string TableName = "p_battlerecord"; // OK
#else
 public static string TableName   // 用属性不行
 {
  get { return "hello"; }
 }
#endif

 public string Name { get; set; }

 public int Add(int a, int b)
 {
  return a + b;
 }
 }

写一个测试函数:

 /// <summary>
 /// 获取类的public static/const成员的值
 /// </summary>
 /// <typeparam name="T"></typeparam>
 public void TestGetValue<T>()
 {
  var tableName = typeof(T).GetField("TableName").GetValue(null);
  Console.WriteLine(tableName);
 }

调用测试接口:

public void test1()
 {
#if false
  var d = new CDynamic();    // 简化演示, 未使用反射
  var add = typeof(CDynamic).GetMethod("Add");
  var ret = add.Invoke(d, new object[] { 1, 3 });
#else
  dynamic d = new CDynamic();    // 使用dynamic动态绑定
  var ret = d.Add(1, 3);
  //d.Hello();      // 编译通过, 运行将出错(未包含Hello()的定义)

  TestGetValue<CDynamic>();
#endif

  //Console.WriteLine("sum = {0}, {1}", ret, s);
 }

完成!

以上这篇利用反射获得类的public static/const成员的值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • C语言-I/O流设计实验

    C语言-I/O流设计实验

    编程语言的I/O类库中常常使用流这个抽象的概念,它代表任何有能力产生数据的数据源对象或时有能力接收数据的接收端对象,本文为大家介绍C语言中I/O系统基础知识
    2021-07-07
  • C++中重载、重写(覆盖)和隐藏的区别实例分析

    C++中重载、重写(覆盖)和隐藏的区别实例分析

    这篇文章主要介绍了C++中重载、重写(覆盖)和隐藏的区别,是C++面向对象程序设计非常重要的概念,需要的朋友可以参考下
    2014-08-08
  • C++ VTK实例之高斯随机数的生成

    C++ VTK实例之高斯随机数的生成

    这篇文章主要介绍了VTK的一个实例之高斯随机数的生成,本文演示了从一个平均数是0.0和标准偏差是2.2的高斯分布中随机生成3个随机数。感兴趣的同学可以学习一下
    2021-11-11
  • 二维指针动态分配内存连续问题深入分析

    二维指针动态分配内存连续问题深入分析

    当我们定义一个二维指针时,如果需要存储相应的数据,就需要我们动态的分配内存,这时,有一点是需要注意的,分配内存的方法不同,内存的连续性也是不相同的
    2013-07-07
  • C++ 动态内存分配详解(new/new[]和delete/delete[])

    C++ 动态内存分配详解(new/new[]和delete/delete[])

    这篇文章主要介绍了C++ 动态内存分配详解(new/new[]和delete/delete[]),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • C++实现停车场管理系统

    C++实现停车场管理系统

    这篇文章主要为大家详细介绍了C++实现停车场管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C++中函数指针详解及代码分享

    C++中函数指针详解及代码分享

    这篇文章主要介绍了C++中函数指针详解及代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • C++小游戏tankwar之界面绘制的详细过程

    C++小游戏tankwar之界面绘制的详细过程

    最近没有项目做,空闲了下来,于是写了个c++小游戏来打发时间,下面通过本文基于图文并茂的形式给大家介绍C++小游戏tankwar之界面绘制的详细过程,感兴趣的朋友一起看看吧
    2021-05-05
  • C++中的结构体vector排序问题

    C++中的结构体vector排序问题

    这篇文章主要介绍了C++中的结构体vector排序问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C语言带你学会位段相关知识

    C语言带你学会位段相关知识

    这篇文章主要介绍了什么是位段,位段的声明和结构是类似的,位段的成员必须是 int、unsigned int 或signed int;位段的成员名后边有一个冒号和一个数字,本文有详细的代码案例,感兴趣的同学可以参考阅读
    2023-04-04

最新评论