MethodNotPropertyAccessor() статический приватный Метод

ArgumentException with message like "The method '{0}.{1}' is not a property accessor"
static private MethodNotPropertyAccessor ( object p0, object p1, string paramName ) : Exception
p0 object
p1 object
paramName string
Результат System.Exception
Пример #1
0
        //CONFORMING
        private static PropertyInfo GetProperty(MethodInfo mi)
        {
            Type         type  = mi.DeclaringType;
            BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic;

            flags |= (mi.IsStatic) ? BindingFlags.Static : BindingFlags.Instance;
            PropertyInfo[] props = type.GetProperties(flags);
            foreach (PropertyInfo pi in props)
            {
                if (pi.CanRead && CheckMethod(mi, pi.GetGetMethod(true)))
                {
                    return(pi);
                }
                if (pi.CanWrite && CheckMethod(mi, pi.GetSetMethod(true)))
                {
                    return(pi);
                }
            }
            throw Error.MethodNotPropertyAccessor(mi.DeclaringType, mi.Name);
        }
Пример #2
0
        private static PropertyInfo GetProperty(MethodInfo mi, string?paramName, int index = -1)
        {
            Type?type = mi.DeclaringType;

            if (type != null)
            {
                BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic;
                flags |= (mi.IsStatic) ? BindingFlags.Static : BindingFlags.Instance;
                PropertyInfo[] props = type.GetProperties(flags);
                foreach (PropertyInfo pi in props)
                {
                    if (pi.CanRead && CheckMethod(mi, pi.GetGetMethod(nonPublic: true) !))
                    {
                        return(pi);
                    }
                    if (pi.CanWrite && CheckMethod(mi, pi.GetSetMethod(nonPublic: true) !))
                    {
                        return(pi);
                    }
                }
            }

            throw Error.MethodNotPropertyAccessor(mi.DeclaringType, mi.Name, paramName, index);
        }