亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

自定義attributes在C#中的實現方法

c#
小樊
82
2024-08-22 00:54:32
欄目: 編程語言

在C#中,自定義屬性是通過創建一個派生自System.Attribute類的新類來實現的。以下是一個簡單的自定義屬性的例子:

using System;

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]
public class CustomAttribute : Attribute
{
    public string Name { get; set; }
    public int Value { get; set; }

    public CustomAttribute(string name, int value)
    {
        Name = name;
        Value = value;
    }
}

[Custom("Attribute1", 1)]
[Custom("Attribute2", 2)]
public class MyClass
{
    [Custom("MethodAttribute", 3)]
    public void MyMethod()
    {
        // Some code here
    }
}

在上面的例子中,我們創建了一個名為CustomAttribute的自定義屬性,并為其添加了Name和Value兩個屬性。然后我們在MyClass類和MyMethod方法上分別應用了CustomAttribute屬性。

要訪問自定義屬性的值,可以使用反射來檢索應用于類或方法的所有自定義屬性,并獲取其值,如下所示:

class Program
{
    static void Main(string[] args)
    {
        Type type = typeof(MyClass);
        var classAttributes = type.GetCustomAttributes(typeof(CustomAttribute), false);

        foreach (CustomAttribute attribute in classAttributes)
        {
            Console.WriteLine($"Name: {attribute.Name}, Value: {attribute.Value}");
        }

        var methodInfo = type.GetMethod("MyMethod");
        var methodAttributes = methodInfo.GetCustomAttributes(typeof(CustomAttribute), false);

        foreach (CustomAttribute attribute in methodAttributes)
        {
            Console.WriteLine($"Name: {attribute.Name}, Value: {attribute.Value}");
        }
    }
}

以上代碼將輸出以下結果:

Name: Attribute1, Value: 1
Name: Attribute2, Value: 2
Name: MethodAttribute, Value: 3

這樣就實現了在C#中創建和使用自定義屬性的方法。

0
许昌县| 海林市| 吉安县| 西乡县| 新绛县| 涟水县| 驻马店市| 丽江市| 锦屏县| 天峨县| 德钦县| 大新县| 商河县| 新巴尔虎右旗| 措美县| 蓝山县| 海兴县| 那坡县| 临城县| 会东县| 玉田县| 台山市| 五家渠市| 林甸县| 中方县| 越西县| 碌曲县| 巴林左旗| 五莲县| 光泽县| 高安市| 宜春市| 宁化县| 上杭县| 怀来县| 巴楚县| 丘北县| 嵊州市| 望都县| 扶绥县| 嘉善县|