internal static MemberInfo GetBaseMemberInfo(MemberInfo member) { object obj = AttributeDataCache._baseMemberMap[(object)member]; if (obj == AttributeDataCache._noMemberInfo) { return((MemberInfo)null); } if (obj == null) { obj = (object)AttributeDataCache.CalculateBaseMemberInfo(member); lock (AttributeDataCache._syncObject) AttributeDataCache._baseMemberMap[(object)member] = obj ?? AttributeDataCache._noMemberInfo; } return((MemberInfo)obj); }
private static MemberInfo GetBasePropertyInfo(MemberInfo info, Type targetType) { PropertyInfo propertyInfo = info as PropertyInfo; return((MemberInfo)targetType.GetProperty(propertyInfo.Name, AttributeDataCache._getInfoBindingFlags, (Binder)null, propertyInfo.PropertyType, AttributeDataCache.ToTypeArray(propertyInfo.GetIndexParameters()), (ParameterModifier[])null)); }
private static MemberInfo GetBaseMethodInfo(MemberInfo info, Type targetType) { MethodInfo methodInfo = info as MethodInfo; if (methodInfo.IsStatic) { return((MemberInfo)null); } return((MemberInfo)targetType.GetMethod(methodInfo.Name, AttributeDataCache._getInfoBindingFlags, (Binder)null, AttributeDataCache.ToTypeArray(methodInfo.GetParameters()), (ParameterModifier[])null)); }