public static bool HasSetMethod(this MemberInfo property, bool includeNonPublic = false) => property.GetSetterMethodOrDefault(includeNonPublic) != null;
public static bool HasPublicSetMethod(this MemberInfo property) { var setter = property.GetSetterMethodOrDefault(); return(setter != null && setter.IsPublic); }