private MemberInfo[] GetNewMemberArray(String name, int index) { MemberInfo[] result = null; Object ob = this.memberLookupTable[index]; // ob could be null if another thread got in here before us if (ob == null) { return(this.memberInfos[index]); } MemberInfo member = ob as MemberInfo; if (member != null) { result = new MemberInfo[] { member } } ; else { result = ((MemberInfoList)ob).ToArray(); } this.memberInfos[index] = result; this.memberLookupTable[index] = null; TypeReflector.WrapMembers(result); return(result); }
internal MemberInfo[] GetDefaultMembers() { MemberInfo[] result = this.defaultMembers; if (result == null) { result = JSBinder.GetDefaultMembers(this.type); if (result == null) { result = new MemberInfo[0]; } TypeReflector.WrapMembers(this.defaultMembers = result); } return(result); }
private MemberInfo[] GetNewMemberArray(String name, Object ob, SimpleHashtable lookupTable) { MemberInfo[] result = null; MemberInfo member = ob as MemberInfo; if (member != null) { result = new MemberInfo[] { member } } ; else { result = ((MemberInfoList)ob).ToArray(); } lookupTable[name] = this.count; this.memberInfos[this.count++] = result; TypeReflector.WrapMembers(result); return(result); }