97.C# 特性 Attribute

摘要


特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。

特性(Attribute)用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。.Net 框架提供了两种类型的特性:_预定义_特性和_自定义_特性。

正文


预定义特性

.Net 框架提供了三种预定义特性:

AttributeUsage

预定义特性 AttributeUsage 描述了如何使用一个自定义特性类。它规定了特性可应用到的项目的类型。

AttributeUsage

[AttributeUsage(AttributeTargets.Class)]
public class UserAttribute : Attribute
{
    public UserAttribute()
    {
        Console.WriteLine("UserAttribute...");
    }
}

Conditional

这个预定义特性标记了一个条件方法,其执行依赖于指定的预处理标识符。

它会引起方法调用的条件编译,取决于指定的值,比如 DebugTrace。例如,当调试代码时显示变量的值。

private void btnInit_Click(object sender, EventArgs e)
{
    Show();
}

[Conditional("DEBUG")]
private static void Show()
{
    MessageBox.Show("信息");
}

在Release下,点击是不会调用Show(),但在Debug下会调用

Obsolete

这个预定义特性标记了不应被使用的程序实体。它可以让您通知编译器丢弃某个特定的目标元素。例如,当一个新方法被用在一个类中,但是您仍然想要保持类中的旧方法,您可以通过显示一个应该使用新方法,而不是旧方法的消息,来把它标记为 obsolete(过时的)。

private void btnInit_Click(object sender, EventArgs e)
{
    Show();
}

[Obsolete("这是一个旧方法,未来会取消的,请用新的ShowMe")]
private static void Show()
{
    MessageBox.Show("Show");
}

private void ShowMe()
{
    MessageBox.Show("ShowMe");
}

展开阅读全文

页面更新:2024-06-05

标签:特性   编译器   新方法   标记   元素   声明   参数   程序   方法   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top