如何在C#中自定义Attribute

avatar
作者
猴君
阅读量:0

在C#中自定义Attribute可以通过创建一个继承自System.Attribute类的新类来实现。下面是一个简单的示例代码:

using System;  [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public class CustomAttribute : Attribute {     public string Description { get; set; }      public CustomAttribute(string description)     {         Description = description;     } }  public class MyClass {     [CustomAttribute("This is a custom attribute")]     public void MyMethod()     {         Console.WriteLine("Executing MyMethod");     } }  class Program {     static void Main()     {         MyClass myClass = new MyClass();         var method = typeof(MyClass).GetMethod("MyMethod");         var attribute = (CustomAttribute)Attribute.GetCustomAttribute(method, typeof(CustomAttribute));          if (attribute != null)         {             Console.WriteLine(attribute.Description);         }          myClass.MyMethod();     } } 

在以上示例中,我们首先定义了一个名为CustomAttribute的自定义属性类,并在其构造函数中初始化一个Description属性。然后,我们在MyMethod方法上应用了这个自定义属性。在Main方法中,我们使用Attribute.GetCustomAttribute方法来获取MyMethod方法上的CustomAttribute属性,并打印出其Description属性的值。

这是一个简单的示例,你可以根据自己的需求扩展自定义属性的功能和用法。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!