How to get the value of private field in C#?

后端 未结 8 1914
我在风中等你
我在风中等你 2020-11-29 06:55

I ran into a problem that I need to access to private field of a class. For example:

class MyClass 
{
    private string someString;

    public MyClass( stri         


        
8条回答
  •  情深已故
    2020-11-29 07:33

    You can use this Extension method.

    public static class Extensions
    {
        public static object GetFieldValue(this object instance, string fieldName)
        {
            const BindingFlags bindFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static;
            var field = instance.GetType().GetField(fieldName, bindFlags);
            return field == null ? null : field.GetValue(instance);
        }
    }
    

提交回复
热议问题