欢迎来到入门教程网!

C语言

当前位置:主页 > 软件编程 > C语言 >

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

来源:本站原创|时间:2020-01-10|栏目:C语言|点击:

首先,我们定义一个类:

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++构造函数问题,初始化和赋值问题

本文标题:利用反射获得类的public static/const成员的值实例

本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/1861.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有