Пример #1
0
        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);
        }
Пример #2
0
        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);
        }