编写自定义特性

===========================Document.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
    [AttributeUsage(AttributeTargets.Property,//该特性能够应用的范围(只能用于属性)
        AllowMultiple = true,//是否支持多个应用到同一个项上
        Inherited = true)//如果特性应用到类或接口上,就会自动应用到所有派生的类或接口上,
        ]              //如果特性应用在属性或方法上,就会自动应用到该方法或属性的重写版本上
    public class DocumentAttribute : Attribute
    {
        private string m_strName;
        private bool m_blnIsYes;
        public bool IsYes { get { return m_blnIsYes; } set { m_blnIsYes = value; } }
        public DocumentAttribute(string p_name)
        {
            this.m_strName = p_name;
        }
    }
}

===========================主程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
    class Program
    {
        //指定特性
        [Document("文档一",//构造函数需要传入的值
            IsYes = true)]//可选参数(Document类的属性)
        public string Name { get; set; }
        static void Main(string[] args)
        {
        }
    }
}
时间: 2024-12-23 15:09:09

编写自定义特性的相关文章

C#之自定义特性

在前面介绍的代码中有使用特性,这些特性都是Microsoft定义好的,作为.NET Framework类库的一部分,许多特性都得到了C#编译器的支持. .NET Frmework也允许定义自己的特性.自定义特性允许把自定义元数据与程序元素关联起来.这些元数据是在编译过程中创建的,并嵌入到程序集中.这些特性不会影响编译过程,因为编译器不能识别它们,但这些特性在应用于程序元素时,可以在编译好的程序集中用作元数据.这些元数据在文档说明中很有用.使自定义特性起很大作用的是反射(http://www.cn

学iOS开发(二)——实现一款App之编写自定义类

今天学iOS开发(二)--实现一款App之编写自定义类 当开发iOS应用程序时,你会发现在许多场景下,你需要编写自己的自定义类.当你需要数据和自定义行为一起打包时,自定义类就很有用了.在一个自定义的类中,你可以为存储.操纵和显示数据定义你自己的行为. 例如,考虑iOS Clock app中的全球时钟标签(World Clock tab).这个表视图中的单元格需要显示比标准表视图单元格更多的内容.这是一个不错的机会实现一个扩展UITableViewCell行为的子类,从而在给定的表视图单元格中显示

在 WF 4 中编写自定义控制流活动

在 WF 4 中编写自定义控制流活动 Leon Welicki 控制流是指组织和执行程序中各个指令的方法. 在 Windows Workflow Foundation 4 (WF 4) 中,控制流活动掌控了一个或多个子活动的执行语义. WF 4 活动工具箱中的示例包括:Sequence.Parallel.If.ForEach.Pick.Flowchart 和 Switch 等等. WF 运行时对 Sequence 或 Parallel 等控制流并不很了解. 从它的角度看来,一切都只是活动而已. 

C# 自定义特性Attribute

一.特性Attribute和注释有什么区别 特性Attribute A:就是一个类,直接继承/间接继承Attribute B:特性可以在后期反射中处理,特性本身是没有什么*用的 C:特性会影响编译和运行时功能 注释 A:就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码.注释是编写程序时,写程序的人给一个语句.程序段.函数等的解释或提示,能提高程序代码的可读性 B:注释不能后期处理 二.自定义Attribute特性的使用 自定义Attribute特性的语法 其实特性就是一个类,直接继承

SpringBoot编写自定义的starter

在之前的文章中,我们分析过SpringBoot内部的自动化配置原理和自动化配置注解开关原理. 我们先简单分析一下mybatis starter的编写,然后再编写自定义的starter. mybatis中的autoconfigure模块中使用了一个叫做MybatisAutoConfiguration的自动化配置类. 这个MybatisAutoConfiguration需要在这些Condition条件下才会执行: @ConditionalOnClass({ SqlSessionFactory.cla

自定义特性。配合枚举使用棒棒哒

1 /// <summary> 2 /// 自定义特性,比系统的display增加了一些参数 Created by ZhangQC 2015.08.19 3 /// </summary> 4 [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, 5 AllowMultiple = false, Inherited = false)] 6 public sealed class CustomAttrib

用mel编写自定义节点的属性编辑器界面

用mel编写自定义节点的属性编辑器界面比较麻烦,而且网上例子又少,下面给出一个范例,说明基本的格式 // 初始化节点时调用 global proc initControl(string $attrName) { // 传进来的参数是节点属性名,使用这个方法获得节点名称 string $nodeName = `plugNode $attrName`; setUITemplate -pst "attributeEditorTemplate"; button -label "Com

自定义特性用途---案例:操作权限

--------------------------------------------------LimitAttribute.cs   自定义特性 using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// LimitAttribute 的摘要说明 /// </summary> //特性只作用与方法上 [AttributeUsage(

C#编程(七十一)---------- 自定义特性

自定义特性 在说自定义之前,有必要先介绍一些基本的概念. 元数据:就是C#中封装的一些类,无法修改,类成员的特性被称为元数据中的注释 1.什么是特性? (1)属性和特性的区别 属性:属性是面向对象思想里所说的封装在类里面的数据字段,Get,Set方法. 特性:就相当于类的元数据. 来看看官方解释? 特性是给指定的某一声明的一则附加的声明性信息. 允许类似关键字的描述声明.它对程序中的元素进行标注,如类型.字段.方法.属性等.从.net角度看,特性是一种 类,这些类继承于System.Attrib