// Token: 0x06005A4D RID: 23117 RVA: 0x0013BB10 File Offset: 0x00139D10
        private static Type ResolveTypeRelativeToBaseTypes(string typeName, int offset, int count, Type serverType)
        {
            if (typeName == null || serverType == null)
            {
                return(null);
            }
            string fullName = serverType.FullName;

            if (fullName.Length == count && string.CompareOrdinal(typeName, offset, fullName, 0, count) == 0)
            {
                return(serverType);
            }
            return(MethodCall.ResolveTypeRelativeToBaseTypes(typeName, offset, count, serverType.BaseType));
        }
示例#2
0
        private static Type ResolveTypeRelativeTo(string typeName, int offset, int count, Type serverType)
        {
            Type baseTypes = MethodCall.ResolveTypeRelativeToBaseTypes(typeName, offset, count, serverType);

            if (baseTypes == (Type)null)
            {
                foreach (Type @interface in serverType.GetInterfaces())
                {
                    string fullName = @interface.FullName;
                    if (fullName.Length == count && string.CompareOrdinal(typeName, offset, fullName, 0, count) == 0)
                    {
                        return(@interface);
                    }
                }
            }
            return(baseTypes);
        }
        // Token: 0x06005A4C RID: 23116 RVA: 0x0013BAB0 File Offset: 0x00139CB0
        private static Type ResolveTypeRelativeTo(string typeName, int offset, int count, Type serverType)
        {
            Type type = MethodCall.ResolveTypeRelativeToBaseTypes(typeName, offset, count, serverType);

            if (type == null)
            {
                Type[] interfaces = serverType.GetInterfaces();
                foreach (Type type2 in interfaces)
                {
                    string fullName = type2.FullName;
                    if (fullName.Length == count && string.CompareOrdinal(typeName, offset, fullName, 0, count) == 0)
                    {
                        return(type2);
                    }
                }
            }
            return(type);
        }