• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

清风&咖啡

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

反射

1.自定义特性

1.1编写自定义特性

 1 [AttributeUsage(AttributeTargets.Property,
 2         AllowMultiple =false,
 3         Inherited = false)]
 4     class FieldNameAttribute:Attribute
 5     {
 6         private string name;
 7 
 8         public FieldNameAttribute(string name)
 9         {
10             this.name = name;
11         }
12     }

(1)AttributeUsage特性

AttributeUsage主要用于标示自定义特性可以应用到哪些类型的程序元素上。这些信息由它的第一个参数给出,该参数是必选的,其类型是枚举类型AttributeTargets。

反射

1.System.Type类

(1)获取指向任何给定类型的Type引用有3种常用方式:

(1.1)使用C#的typeof运算符

Type = typeof(double);

(1.2)使用GetType()方法

double b = 10;

Type t = b.GetType();

(1.3)调用Type类的静态方法GetType():

Type t = Type.GetType("System.Double");

2.Assembly类

加载程序集使用静态成员Assembly.Load()和Assembly.LoadForm()

Assembly.Load()参数是程序集的名称。

Assembly.LoadForm()参数是程序集的完整路径名。

2.1查找程序集中定义的类型

Assembly.GetTypes()

2.2查找自定义类型

Attribute.GetCustomAttributes(assembly1);

posted on 2015-04-21 18:39  尼普顿  阅读(153)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3