private static MethodAttributes MethodVisibilityAttributesFor(TypeMember member) { if (member.IsPublic) return MethodAttributes.Public; if (member.IsProtected) return member.IsInternal ? MethodAttributes.FamORAssem : MethodAttributes.Family; if (member.IsInternal) return MethodAttributes.Assembly; return MethodAttributes.Private; }