static private MethodNotPropertyAccessor ( object p0, object p1, string paramName ) : |
||
p0 | object | |
p1 | object | |
paramName | string | |
return |
//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); }
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); }