- 浏览: 247142 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (293)
- web (1)
- [随笔分类]项目管理 (30)
- [随笔分类]WCF (14)
- 未分类 (1)
- [随笔分类]Linq (4)
- [随笔分类]C#基础 (24)
- 项目 (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (8)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (9)
- [随笔分类]Ubuntu (4)
- ASP.Net (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (30)
- [随笔分类]ASP.NET MVC (20)
- [随笔分类]ASP.NET (3)
- [随笔分类]程序员厨房 (4)
- [随笔分类]英语学习 (28)
- [网站分类]4.其他技术区 (1)
- [随笔分类]Silverlight (12)
- [随笔分类]CodeSmith (8)
- [随笔分类]其他 (4)
- [随笔分类]Ruby (4)
- [发布至博客园首页] (34)
- [网站分类]其他技术区 (3)
- [随笔分类]Ruby on Rails (2)
- [网站分类].NET新手区 (33)
- [随笔分类]TDD (1)
- [随笔分类]不谈技术 (2)
- [网站分类]非技术区 (7)
最新评论
-
yicone:
You make a mistake when paste t ...
WCF步步为营(一):简单示例 -
jinweijie:
你好,这个实现不错,但是在用了scriptmanager以后就 ...
在服务器端保存ViewState
1 .描述
属性提供功能强大的方法以将声明信息与 C# 代码(类型、方法、属性等)相关联。属性与程序实体关联后,即可在运行时使用名为“反射”的技术查询属性。
属性以两种形式出现:
-
一种是在公共语言运行库 (CLR) 中定义的属性。
-
另一种是可以创建的用于向代码中添加附加信息的自定义属性。此信息可在以后以编程方式检索。
2. 示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NetTest
{
public class TestAttribute
{
public void Test()
{
PrintAuthorInfo(typeof(CustomAttribute));
}
/*
Obsolete 属性将某个程序实体标记为一个建议不再使用的实体。每次使用被标记为已过时的实体时,
随后将生成警告或错误,这取决于属性是如何配置的,第二个参数是true时,编译时显示错误
*/
[Obsolete("please use aonther method,this is obsolate",true)]
public void TestObsolate()
{
Console.Out.WriteLine("welcome");
}
private static void PrintAuthorInfo(System.Type t)
{
System.Console.WriteLine("Author information for {0}", t);
System.Attribute[] attrs = System.Attribute.GetCustomAttributes(t); // reflection
foreach (System.Attribute attr in attrs)
{
if (attr is Author)
{
Author a = (Author)attr;
System.Console.WriteLine(" {0}, version {1:f}", a.Name, a.version);
}
}
}
//应用自定义属性
[Author("Jack",version=1.0)]
[Author("TJ",version=2.0)]
class CustomAttribute
{
public void Test()
{
Console.Out.WriteLine("Test custom attribute");
}
}
//自定义的属性,集成属性类
[System.AttributeUsage(AttributeTargets.Class|AttributeTargets.Struct,AllowMultiple=true)]
class Author : System.Attribute
{
private string name;
public double version;
public Author(string name)
{
this.name = name;
version = 1.0;
}
public string Name
{
get { return this.name; }
}
}
}
}
发表评论
-
C#拾遗系列(1):委托
2008-06-11 14:43 558一、委托概述 委托具有以下特点: 委托类似于 ... -
C#拾遗系列(2):属性
2008-06-11 14:54 6801. 这里主要演示属性的继承和覆盖 2. 把属性理解为方法 ... -
C#拾遗系列(3):构造函数
2008-06-11 15:19 5841. 主要演示构造函数的继承 声明空 ... -
C#拾遗系列(4):索引器
2008-06-11 15:30 7341. 概述 索引器允许类或结构的实例就像数组一样进行索引。索引 ... -
C#拾遗系列(5):泛型委托
2008-06-14 17:25 564using System; using System.Col ... -
C#拾遗系列(6):迭代器
2008-06-14 23:03 4971. 示例: using System; using Sys ... -
C#拾遗系列(8):异常
2008-06-19 11:02 572using System; using System.Col ... -
C#拾遗系列(9):继承、接口、扩展方法、分部类、类操作、Ref and Out、可空类型
2008-06-19 15:07 1113本文内容: 继承 Equal示例 结构和类 ... -
MSIL(0):简介
2009-03-04 23:06 821Microsoft Intermediate Language ... -
MSIL(1): Hello World
2009-03-09 22:14 7361. 用记事本编写如下代码 .assembly HelloWo ... -
代码段:ASCII to Unicode
2009-04-17 10:44 7451: private string Co ... -
Get countries from system
2009-05-08 16:02 7611: using System; 2: usi ... -
[Tips]:Read value from Resource file in C#
2009-05-18 16:18 9931: //Namespace refer ... -
[tips]: 多线程 ManualResetEvent
2009-05-21 14:23 1306WaitHandle用于实现对共享资源的独占访问,AutoRe ... -
C#拾遗系列(1):委托
2008-06-11 14:43 627一、委托概述 委托具有以下特点: 委托 ... -
C#拾遗系列(2):属性
2008-06-11 14:54 5601. 这里主要演示属性的继承和覆盖 2. 把属性理解为方法 ... -
C#拾遗系列(3):构造函数
2008-06-11 15:19 6071. 主要演示构造函数的继承 ... -
C#拾遗系列(4):索引器
2008-06-11 15:30 5611. 概述 索引器允许类或结构的实例就像数组一样进行索引。索引 ... -
C#拾遗系列(5):泛型委托
2008-06-14 17:25 649using System; using System.Col ... -
C#拾遗系列(6):迭代器
2008-06-14 23:03 6761. 示例: using System; using Sys ...
相关推荐
基于C#方式的CATIA二次开发,实现产品属性:一般属性和自定义属性的获取及设置。
自定义属性集合编辑器,支持两种方式(UserControl, Component)进行属性编辑并自动产生持久化代码。代码参考网络。
C# 自定义控件的属性 添加自定义控件的事件
C# 自定义属性在propertyGrid控件中显示 演示demo
这是我用C#写的自定义组件和控件,内附一个testForm来演示如何使用。 其中,自定义的组件有:速选组件、窗口靠边停靠组件、窗口抖动组件。 自定义控件有:黑白的菜单栏、带进度显示的进度条等。
net ef mvc log4net自定义属性/字段增加,本方法简单易懂,不用做太多的变动,主要利用了log4net.GlobalContext.Properties方法进行,简单实用。 文档漏了一个,commandText的value进行修改,将自定义字段加入
C#的ListView添加各种自定义控件,CheckBox,ComboBox等
C# 自定义控件实例 C# 自定义控件实例 C# 自定义控件实例 button,Control,ProgressBar,tabControl, TrackBar
一个关于C# PropertyGrid增加自定义属性的范例。
【SolidWorks一键清空自定义属性】 代码在SolidWorks2020版本下编制,在其他版本中使用自行引用运行库(方法:打开SolidWorks→工具→宏→编辑→打开“删除属性.swp”→工具→引用→把丢失项取消勾选,勾选你当前...
C# 自定义控件 自定义ComboBox。其他控件的自定义与此类似。
C#重写SplitContainer收缩自定义控件
关于propertyGrid加载自定义属性的小Demo,可以根据自己需要进行更改
C#自定义窗体C#自定义窗体C#自定义窗体
自定义属性分组,按类型展示显示分组,字母排序显示+号分组
C#2017实现自定义属性实现标签特性简单例子可执行 C#2017实现自定义属性实现标签特性简单例子可执行
主要介绍了C#实现ProperTyGrid自定义属性的方法,主要通过接口ICustomTypeDescriptor实现,需要的朋友可以参考下
C#自定义控件之-自定义MessageBox
C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮控件C# 自定义按钮...