private static MemberNameMap GetMembersByName(Type type) { var membersByName = new MemberNameMap(); foreach (var member in type.GetMembers(BindingFlags.Public | BindingFlags.Instance)) { var method = member as MethodInfo; if (method != null && method.IsGenericMethodDefinition) { continue; } foreach (var memberNameAttr in member.GetCustomAttributes(typeof(LuaMemberAttribute), true).Cast <LuaMemberAttribute>()) { var memberName = memberNameAttr.LuaKey ?? member.Name; List <MemberInfo> members; if (!membersByName.TryGetValue(memberName, out members)) { members = new List <MemberInfo>(); membersByName[memberName] = members; } members.Add(member); } } return(membersByName); }
private static MemberNameMap GetMembersByName(Type type, BindingFlags binding_flags) { var membersByName = new MemberNameMap(); foreach (var member in type.GetMembers(binding_flags)) { var method = member as MethodInfo; if (method != null && method.IsGenericMethodDefinition) { continue; } membersByName [member.Name] = new List <MemberInfo> { member }; } return(membersByName); }