利用反射获得类的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#使用反射加载多个程序集的实现方法

    C#使用反射加载多个程序集的实现方法

    下面小编就为大家带来一篇C#使用反射加载多个程序集的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • C++程序简单示例

    C++程序简单示例

    这篇文章主要给大家分享的是C++程序简单示例,下面文章将围绕C++程序的相关资料展开内容,需要的朋友可以参考一下,希望对你有所帮助
    2021-11-11
  • C语言模式实现C++继承和多态的实例代码

    C语言模式实现C++继承和多态的实例代码

    本篇文章主要介绍了C语言模式实现C++继承和多态的实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • C语言 解决不用+、-、×、÷数字运算符做加法的实现方法

    C语言 解决不用+、-、×、÷数字运算符做加法的实现方法

    本篇文章是对在C语言中解决不用+、-、×、÷数字运算符做加法的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++ OpenCV读写XML或YAML文件的方法详解

    C++ OpenCV读写XML或YAML文件的方法详解

    XML是一种元标记语言。所谓元标记,就是开发者可以根据自身需要定义自己的标记。YAML是一个可读性高,用来表达资料序列的格式。本文将通过C++和OpenCV实现这两种文件的读写,需要的可以参考一下
    2022-05-05
  • C语言实现静态链表

    C语言实现静态链表

    这篇文章主要为大家详细介绍了C语言实现静态链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • C语言通过二分查找实现猜数字游戏

    C语言通过二分查找实现猜数字游戏

    这篇文章主要为大家详细介绍了在C语言中如何通过二分查找思想编写一个简单的猜数字游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-02-02
  • C++中AVL树的底层以及实现方法总结

    C++中AVL树的底层以及实现方法总结

    这篇文章主要介绍了C++中AVL树的底层以及实现方法的相关资料,AVL树是一种自平衡的二叉搜索树,每个节点的左右子树高度差不超过1,通过旋转操作保持平衡,详解了AVL树的结构、插入、旋转、查找和遍历方法,展示了其保持平衡的机制及对应代码实现,需要的朋友可以参考下
    2024-10-10
  • 用c++实现将文本每个单词首字母转换为大写

    用c++实现将文本每个单词首字母转换为大写

    本篇文章是对用c++实现将文本每个单词首字母转换为大写的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 浅谈C++内存分配及变长数组的动态分配

    浅谈C++内存分配及变长数组的动态分配

    下面小编就为大家带来一篇浅谈C++内存分配及变长数组的动态分配。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09

最新评论