91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

自定義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
望城县| 咸宁市| 象山县| 陕西省| 安阳县| 当雄县| 松潘县| 晴隆县| 沧州市| 崇州市| 孝昌县| 武陟县| 肥乡县| 东明县| 阜新| 象山县| 朝阳市| 新兴县| 安图县| 富裕县| 论坛| 南澳县| 江油市| 高雄市| 巫山县| 奉节县| 光泽县| 左云县| 安新县| 磴口县| 工布江达县| 巴彦淖尔市| 安达市| 英山县| 饶阳县| 兴山县| 阿城市| 天柱县| 怀柔区| 凤山县| 恭城|