中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何在 C# 中使用 PropertyInfo

小樊
85
2024-07-08 16:49:15
欄目: 編程語言

在C#中,使用PropertyInfo可以訪問和操作類的屬性。以下是使用PropertyInfo的一些基本示例:

  1. 獲取屬性的值:
using System;
using System.Reflection;

class MyClass
{
    public int MyProperty { get; set; }
}

class Program
{
    static void Main()
    {
        MyClass obj = new MyClass();
        obj.MyProperty = 10;

        PropertyInfo propertyInfo = typeof(MyClass).GetProperty("MyProperty");
        int value = (int)propertyInfo.GetValue(obj);

        Console.WriteLine(value); // 輸出 10
    }
}
  1. 設置屬性的值:
using System;
using System.Reflection;

class MyClass
{
    public int MyProperty { get; set; }
}

class Program
{
    static void Main()
    {
        MyClass obj = new MyClass();

        PropertyInfo propertyInfo = typeof(MyClass).GetProperty("MyProperty");
        propertyInfo.SetValue(obj, 20);

        Console.WriteLine(obj.MyProperty); // 輸出 20
    }
}
  1. 獲取屬性的特性:
using System;
using System.Reflection;

[AttributeUsage(AttributeTargets.Property)]
class CustomAttribute : Attribute
{
    public string Description { get; }

    public CustomAttribute(string description)
    {
        Description = description;
    }
}

class MyClass
{
    [Custom("This is a custom attribute")]
    public int MyProperty { get; set; }
}

class Program
{
    static void Main()
    {
        PropertyInfo propertyInfo = typeof(MyClass).GetProperty("MyProperty");
        CustomAttribute customAttribute = (CustomAttribute)propertyInfo.GetCustomAttribute(typeof(CustomAttribute));

        Console.WriteLine(customAttribute.Description); // 輸出 "This is a custom attribute"
    }
}

通過使用PropertyInfo,您可以更靈活地訪問和操作類的屬性,從而實現更高級的功能和邏輯。

0
浦东新区| 松桃| 金沙县| 新沂市| 海伦市| 花莲县| 丰台区| 昌吉市| 赤水市| 舒兰市| 哈密市| 汝南县| 中卫市| 任丘市| 龙陵县| 和林格尔县| 海盐县| 绿春县| 安达市| 苍溪县| 镇坪县| 紫阳县| 遵义市| 平顶山市| 石门县| 湖南省| 阳朔县| 周至县| 札达县| 犍为县| 临安市| 安达市| 射洪县| 朝阳区| 浠水县| 建宁县| 巴林右旗| 石阡县| 依安县| 永州市| 景谷|