zoukankan      html  css  js  c++  java
  • 010. 使用.net框架提供的属性

    C#允许在类和类成员上声明特性(类), 可在运行时解释类和类的成员. 这个特性也称为属性, 使用Attribute.下面演示如何使用.net框架提供的属性. 

     1 using System; 
     2 using System.Reflection;
     3 public partial class _Default : System.Web.UI.Page 
     4 {
     5     //自定义属性类
     6     [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
     7     public class BookAttribute : Attribute //Attribute 自定义属性的基类
     8     {
     9         private string BookName;
    10         public BookAttribute(string BookName)
    11         {
    12             this.BookName = BookName;
    13         }
    14         public string Book
    15         {
    16             get
    17             {
    18                 return BookName;
    19             }
    20         }
    21     }
    22 
    23     //多次使用属性类
    24     [Book("Asp.net入门基础;")]
    25     [Book("C#实战案例")]
    26     public class BookInfo
    27     {
    28         public string binfo = "图书信息***********";
    29         public BookInfo()
    30         {
    31 
    32         }
    33     }
    34 
    35     //页面的page_load调用自定义的属性示例
    36     protected void Page_Load(object sender, EventArgs e)
    37     {
    38         //实例化BookInfo类
    39         BookInfo bf = new BookInfo();
    40         //对象数组
    41         object[] Bookattr;
    42         //获取对象类型, 获取有关成员特性的信息并提供对成员元数据的访问
    43         MemberInfo Typeinfo = typeof(BookInfo);
    44         //提取类型是属性类的成员
    45         Bookattr = Typeinfo.GetCustomAttributes(typeof(BookAttribute), false);
    46         if (Bookattr.GetLength(0) != 0)
    47         {
    48             BookAttribute ba = (BookAttribute)(Bookattr[0]);//获取属性类的第一个成员
    49             BookAttribute ba2 = (BookAttribute)(Bookattr[1]);//获取属性类的第二个成员
    50             Response.Write(bf.binfo);
    51             Response.Write("<br/>");
    52             Response.Write("图书名称:" + ba.Book + ba2.Book);
    53         }   
    54     }
    55 }
  • 相关阅读:
    Spring 事务管理
    16.04更新源
    idea操作git远程回滚到某个提交节点或某个版本
    pip下载速度慢、pip下载超时解决方案:更换pip下载源
    IntelliJ IDEA激活和配置
    docker中启动nginx
    Docker推送镜像到阿里云仓库
    docker使用Dockerfile制作tomcat镜像(实际操作没有问题)
    Linux CentOS7中端口的操作
    promiseAll使用
  • 原文地址:https://www.cnblogs.com/wxylog/p/6097203.html
Copyright © 2011-2022 走看看