温馨提示×

PropertyInfo可以获取私有属性吗

小樊
85
2024-07-08 16:51:15
栏目: 深度学习
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

PropertyInfo类可以获取私有属性,但是需要使用BindingFlags参数来指定要获取的属性的访问权限。例如,可以使用BindingFlags.NonPublic来获取私有属性。以下是一个示例代码:

using System;
using System.Reflection;

public class MyClass
{
    private int myPrivateField = 10;
}

class Program
{
    static void Main()
    {
        MyClass obj = new MyClass();
        Type type = obj.GetType();
        BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;
        PropertyInfo propertyInfo = type.GetProperty("myPrivateField", flags);
        Console.WriteLine(propertyInfo.GetValue(obj)); // Output: 10
    }
}

在上面的示例中,使用BindingFlags.NonPublic和BindingFlags.Instance来获取私有属性myPrivateField的值。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:如何获取特定属性的PropertyInfo

0