예제 #1
0
    // Token: 0x060005B3 RID: 1459 RVA: 0x000273FC File Offset: 0x000255FC
    private static Func <object, object> smethod_5(Struct9 <Type, Type> struct9_0)
    {
        Class23.Class24 @class   = new Class23.Class24();
        Type            gparam_  = struct9_0.gparam_0;
        Type            gparam_2 = struct9_0.gparam_1;
        MethodInfo      method;

        if ((method = gparam_2.GetMethod("op_Implicit", new Type[]
        {
            gparam_
        })) == null)
        {
            method = gparam_2.GetMethod("op_Explicit", new Type[]
            {
                gparam_
            });
        }
        MethodInfo methodInfo = method;

        if (methodInfo == null)
        {
            return(null);
        }
        @class.delegate1_0 = Class124.smethod_19().vmethod_0 <object>(methodInfo);
        return(new Func <object, object>(@class.method_0));
    }
예제 #2
0
        // Token: 0x06000A08 RID: 2568 RVA: 0x00038A0C File Offset: 0x00036C0C
        internal object method_0(object[] object_0)
        {
            object result;

            try
            {
                if (object_0 != null)
                {
                    Type[]          types       = object_0.Select(new Func <object, Type>(Class124.Class126.class126_0.method_0)).ToArray <Type>();
                    ConstructorInfo constructor = this.type_0.GetConstructor(types);
                    if (!(constructor != null))
                    {
                        throw new JsonException("No matching parameterized constructor found for '{0}'.".smethod_0(CultureInfo.InvariantCulture, this.type_0));
                    }
                    result = Class124.smethod_19().vmethod_1(constructor)(object_0);
                }
                else
                {
                    if (this.func_0 == null)
                    {
                        throw new JsonException("No parameterless constructor defined for '{0}'.".smethod_0(CultureInfo.InvariantCulture, this.type_0));
                    }
                    result = this.func_0();
                }
            }
            catch (Exception innerException)
            {
                throw new JsonException("Error creating '{0}'.".smethod_0(CultureInfo.InvariantCulture, this.type_0), innerException);
            }
            return(result);
        }
예제 #3
0
 // Token: 0x060006D0 RID: 1744 RVA: 0x0002C5BC File Offset: 0x0002A7BC
 internal static bool smethod_0(Type type_0, Type type_1, out Type type_2, out ObjectConstructor <object> objectConstructor_0)
 {
     if (type_0.smethod_4())
     {
         Class64.Class66 @class = new Class64.Class66();
         Type            genericTypeDefinition = type_0.GetGenericTypeDefinition();
         @class.string_0 = genericTypeDefinition.FullName;
         Class64.Class65 class2 = Class64.ilist_0.FirstOrDefault(new Func <Class64.Class65, bool>(@class.method_0));
         if (class2 != null)
         {
             Type type  = genericTypeDefinition.smethod_7().GetType(class2.method_2());
             Type type2 = genericTypeDefinition.smethod_7().GetType(class2.method_4());
             if (type != null && type2 != null)
             {
                 MethodInfo methodInfo = type2.GetMethods().FirstOrDefault(new Func <MethodInfo, bool>(Class64.Class67.class67_0.method_0));
                 if (methodInfo != null)
                 {
                     type_2 = type.MakeGenericType(new Type[]
                     {
                         type_1
                     });
                     MethodInfo methodBase_ = methodInfo.MakeGenericMethod(new Type[]
                     {
                         type_1
                     });
                     objectConstructor_0 = Class124.smethod_19().vmethod_1(methodBase_);
                     return(true);
                 }
             }
         }
     }
     type_2 = null;
     objectConstructor_0 = null;
     return(false);
 }
예제 #4
0
        // Token: 0x0600067A RID: 1658 RVA: 0x0002B34C File Offset: 0x0002954C
        private static void smethod_2()
        {
            Type type  = Type.GetType("Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo, Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", true);
            Type type2 = Type.GetType("Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags, Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", true);
            Type type3 = Type.GetType("Microsoft.CSharp.RuntimeBinder.Binder, Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", true);
            Type type4 = typeof(IEnumerable <>).MakeGenericType(new Type[]
            {
                type
            });
            MethodInfo method = type3.GetMethod("GetMember", new Type[]
            {
                type2,
                typeof(string),
                typeof(Type),
                type4
            });

            Class47.Class48.delegate1_0 = Class124.smethod_19().vmethod_0 <object>(method);
            MethodInfo method2 = type3.GetMethod("SetMember", new Type[]
            {
                type2,
                typeof(string),
                typeof(Type),
                type4
            });

            Class47.Class48.delegate1_1 = Class124.smethod_19().vmethod_0 <object>(method2);
        }
예제 #5
0
    private void method_33(JsonWriter jsonWriter_0, ISerializable iserializable_0, JsonISerializableContract jsonISerializableContract_0, JsonProperty jsonProperty_0, JsonContainerContract jsonContainerContract_0, JsonProperty jsonProperty_1)
    {
        if (!Class124.smethod_18())
        {
            string text = "Type '{0}' implements ISerializable but cannot be serialized using the ISerializable interface because the current application is not fully trusted and ISerializable can expose secure data." + Environment.NewLine + "To fix this error either change the environment to be fully trusted, change the application to not deserialize the type, add JsonObjectAttribute to the type or change the JsonSerializer setting ContractResolver to use a new DefaultContractResolver with IgnoreSerializableInterface set to true." + Environment.NewLine;
            text = text.smethod_0(CultureInfo.InvariantCulture, iserializable_0.GetType());
            throw JsonSerializationException.Create(null, jsonWriter_0.xEuXaafal7(), text, null);
        }
        this.method_17(jsonWriter_0, jsonISerializableContract_0, iserializable_0);
        this.list_0.Add(iserializable_0);
        this.method_21(jsonWriter_0, iserializable_0, jsonISerializableContract_0, jsonProperty_0, jsonContainerContract_0, jsonProperty_1);
        SerializationInfo serializationInfo = new SerializationInfo(jsonISerializableContract_0.UnderlyingType, new FormatterConverter());

        iserializable_0.GetObjectData(serializationInfo, this.jsonSerializer_0.streamingContext_0);
        foreach (SerializationEntry serializationEntry in serializationInfo)
        {
            JsonContract jsonContract_ = this.method_7(serializationEntry.Value);
            if (this.method_11(serializationEntry.Value, null, jsonContract_, jsonISerializableContract_0, jsonProperty_0))
            {
                jsonWriter_0.WritePropertyName(serializationEntry.Name);
                this.method_14(jsonWriter_0, serializationEntry.Value);
            }
            else if (this.method_13(jsonWriter_0, serializationEntry.Value, null, jsonContract_, jsonISerializableContract_0, jsonProperty_0))
            {
                jsonWriter_0.WritePropertyName(serializationEntry.Name);
                this.method_9(jsonWriter_0, serializationEntry.Value, jsonContract_, null, jsonISerializableContract_0, jsonProperty_0);
            }
        }
        jsonWriter_0.WriteEndObject();
        this.list_0.RemoveAt(this.list_0.Count - 1);
        this.method_18(jsonWriter_0, jsonISerializableContract_0, iserializable_0);
    }
예제 #6
0
 // Token: 0x060006BC RID: 1724 RVA: 0x0002C2A8 File Offset: 0x0002A4A8
 public static void smethod_9(Assembly assembly_1)
 {
     if (!Class59.bool_0)
     {
         object obj = Class59.object_0;
         lock (obj)
         {
             if (!Class59.bool_0)
             {
                 Class59.smethod_1(assembly_1);
                 Type       type        = assembly_1.GetType("Microsoft.FSharp.Reflection.FSharpType");
                 MethodInfo methodBase_ = Class59.smethod_10(type, "IsUnion", BindingFlags.Static | BindingFlags.Public);
                 Class59.IsUnion = Class124.smethod_19().vmethod_0 <object>(methodBase_);
                 MethodInfo methodBase_2 = Class59.smethod_10(type, "GetUnionCases", BindingFlags.Static | BindingFlags.Public);
                 Class59.GetUnionCases = Class124.smethod_19().vmethod_0 <object>(methodBase_2);
                 Type type2 = assembly_1.GetType("Microsoft.FSharp.Reflection.FSharpValue");
                 Class59.PreComputeUnionTagReader   = Class59.smethod_11(type2, "PreComputeUnionTagReader");
                 Class59.PreComputeUnionReader      = Class59.smethod_11(type2, "PreComputeUnionReader");
                 Class59.PreComputeUnionConstructor = Class59.smethod_11(type2, "PreComputeUnionConstructor");
                 Type type3 = assembly_1.GetType("Microsoft.FSharp.Reflection.UnionCaseInfo");
                 Class59.smethod_5(Class124.smethod_19().vmethod_3 <object>(type3.GetProperty("Name")));
                 Class59.smethod_7(Class124.smethod_19().vmethod_3 <object>(type3.GetProperty("Tag")));
                 Class59.smethod_3(Class124.smethod_19().vmethod_3 <object>(type3.GetProperty("DeclaringType")));
                 Class59.smethod_8(Class124.smethod_19().vmethod_0 <object>(type3.GetMethod("GetFields")));
                 Class59.methodInfo_0 = assembly_1.GetType("Microsoft.FSharp.Collections.ListModule").GetMethod("OfSeq");
                 Class59.kXkxeOrhTr   = assembly_1.GetType("Microsoft.FSharp.Collections.FSharpMap`2");
                 Thread.MemoryBarrier();
                 Class59.bool_0 = true;
             }
         }
     }
 }
예제 #7
0
    // Token: 0x060009FE RID: 2558 RVA: 0x000387D4 File Offset: 0x000369D4
    private static OshAAEdiySOMFe7YuI8 smethod_12 <OshAAEdiySOMFe7YuI8>(Type type_0) where OshAAEdiySOMFe7YuI8 : Attribute
    {
        Type type = Class124.smethod_10(type_0);
        OshAAEdiySOMFe7YuI8 oshAAEdiySOMFe7YuI;

        if (type != null)
        {
            oshAAEdiySOMFe7YuI = Class90.smethod_32 <OshAAEdiySOMFe7YuI8>(type, true);
            if (oshAAEdiySOMFe7YuI != null)
            {
                return(oshAAEdiySOMFe7YuI);
            }
        }
        oshAAEdiySOMFe7YuI = Class90.smethod_32 <OshAAEdiySOMFe7YuI8>(type_0, true);
        if (oshAAEdiySOMFe7YuI != null)
        {
            return(oshAAEdiySOMFe7YuI);
        }
        Type[] interfaces = type_0.GetInterfaces();
        for (int i = 0; i < interfaces.Length; i++)
        {
            oshAAEdiySOMFe7YuI = Class90.smethod_32 <OshAAEdiySOMFe7YuI8>(interfaces[i], true);
            if (oshAAEdiySOMFe7YuI != null)
            {
                return(oshAAEdiySOMFe7YuI);
            }
        }
        return(default(OshAAEdiySOMFe7YuI8));
    }
예제 #8
0
 // Token: 0x060009FB RID: 2555 RVA: 0x00038704 File Offset: 0x00036904
 private static Func <object[], object> smethod_9(Type type_0)
 {
     Class124.Class125 @class = new Class124.Class125();
     @class.type_0 = type_0;
     @class.func_0 = (Class90.smethod_7(@class.type_0, false) ? Class124.smethod_19().vmethod_2 <object>(@class.type_0) : null);
     return(new Func <object[], object>(@class.method_0));
 }
예제 #9
0
 // Token: 0x060000E2 RID: 226 RVA: 0x00003300 File Offset: 0x00001500
 public static void smethod_0(Array array_0, RuntimeFieldHandle runtimeFieldHandle_0)
 {
     if (Class124.smethod_0())
     {
         int metadataToken = FieldInfo.GetFieldFromHandle(runtimeFieldHandle_0).MetadataToken;
     }
     RuntimeHelpers.InitializeArray(array_0, runtimeFieldHandle_0);
 }
예제 #10
0
 // Token: 0x06000A05 RID: 2565 RVA: 0x0000959E File Offset: 0x0000779E
 public static Class81 smethod_19()
 {
     if (Class124.smethod_17())
     {
         return(Class82.smethod_0());
     }
     return(Class84.smethod_0());
 }
예제 #11
0
    // Token: 0x060006BF RID: 1727 RVA: 0x0002C4C8 File Offset: 0x0002A6C8
    public static ObjectConstructor <object> smethod_12(Type type_0)
    {
        MethodInfo methodBase_ = Class59.methodInfo_0.MakeGenericMethod(new Type[]
        {
            type_0
        });

        return(Class124.smethod_19().vmethod_1(methodBase_));
    }
예제 #12
0
    // Token: 0x060006BE RID: 1726 RVA: 0x0002C46C File Offset: 0x0002A66C
    private static Delegate1 <object, object> smethod_11(Type type_0, string string_0)
    {
        Class59.Class60 @class     = new Class59.Class60();
        MethodInfo      methodInfo = Class59.smethod_10(type_0, string_0, BindingFlags.Static | BindingFlags.Public);
        MethodInfo      method     = methodInfo.ReturnType.GetMethod("Invoke", BindingFlags.Instance | BindingFlags.Public);

        @class.delegate1_0 = Class124.smethod_19().vmethod_0 <object>(methodInfo);
        @class.delegate1_1 = Class124.smethod_19().vmethod_0 <object>(method);
        return(new Delegate1 <object, object>(@class.method_0));
    }
예제 #13
0
 // Token: 0x060009FA RID: 2554 RVA: 0x00009542 File Offset: 0x00007742
 public static NamingStrategy smethod_8(JsonContainerAttribute jsonContainerAttribute_0)
 {
     if (jsonContainerAttribute_0.method_0() == null)
     {
         if (jsonContainerAttribute_0.NamingStrategyType == null)
         {
             return(null);
         }
         jsonContainerAttribute_0.method_1(Class124.smethod_7(jsonContainerAttribute_0.NamingStrategyType, jsonContainerAttribute_0.NamingStrategyParameters));
     }
     return(jsonContainerAttribute_0.method_0());
 }
예제 #14
0
        public virtual JsonSchema GetSchema(string reference)
        {
            Class124 class2 = new Class124 {
                string_0 = reference
            };
            JsonSchema schema = this.LoadedSchemas.SingleOrDefault <JsonSchema>(new Func <JsonSchema, bool>(class2.method_0));

            if (schema == null)
            {
                schema = this.LoadedSchemas.SingleOrDefault <JsonSchema>(new Func <JsonSchema, bool>(class2.method_1));
            }
            return(schema);
        }
예제 #15
0
    // Token: 0x060009F7 RID: 2551 RVA: 0x000386C4 File Offset: 0x000368C4
    public static JsonConverter smethod_5(object object_0)
    {
        JsonConverterAttribute jsonConverterAttribute = Class124.smethod_0 <JsonConverterAttribute>(object_0);

        if (jsonConverterAttribute != null)
        {
            Func <object[], object> func = Class124.iOhAeZguXU.Get(jsonConverterAttribute.ConverterType);
            if (func != null)
            {
                return((JsonConverter)func(jsonConverterAttribute.ConverterParameters));
            }
        }
        return(null);
    }
예제 #16
0
    // Token: 0x060006C1 RID: 1729 RVA: 0x0002C4F8 File Offset: 0x0002A6F8
    public static ObjectConstructor <object> BuildMapCreator <TKey, TValue>()
    {
        Class59.Class61 <TKey, TValue> @class = new Class59.Class61 <TKey, TValue>();
        ConstructorInfo constructor           = Class59.kXkxeOrhTr.MakeGenericType(new Type[]
        {
            typeof(TKey),
            typeof(TValue)
        }).GetConstructor(new Type[]
        {
            typeof(IEnumerable <Tuple <TKey, TValue> >)
        });

        @class.objectConstructor_0 = Class124.smethod_19().vmethod_1(constructor);
        return(new ObjectConstructor <object>(@class.method_0));
    }
예제 #17
0
    // Token: 0x06000A02 RID: 2562 RVA: 0x00038908 File Offset: 0x00036B08
    public static crA8Gidbto0MysfJeyj smethod_16 <crA8Gidbto0MysfJeyj>(ICustomAttributeProvider icustomAttributeProvider_0) where crA8Gidbto0MysfJeyj : Attribute
    {
        Type type_;

        if ((type_ = (icustomAttributeProvider_0 as Type)) != null)
        {
            return(Class124.smethod_12 <crA8Gidbto0MysfJeyj>(type_));
        }
        MemberInfo memberInfo_;

        if ((memberInfo_ = (icustomAttributeProvider_0 as MemberInfo)) != null)
        {
            return(Class124.smethod_13 <crA8Gidbto0MysfJeyj>(memberInfo_));
        }
        return(Class90.smethod_32 <crA8Gidbto0MysfJeyj>(icustomAttributeProvider_0, true));
    }
예제 #18
0
    // Token: 0x06000993 RID: 2451 RVA: 0x0003715C File Offset: 0x0003535C
    internal static bool smethod_0(object object_0, Type type_1, out string string_0)
    {
        TypeConverter typeConverter;

        if (Class124.smethod_1(type_1, out typeConverter))
        {
            string_0 = typeConverter.ConvertToInvariantString(object_0);
            return(true);
        }
        type_1 = (object_0 as Type);
        if (type_1 != null)
        {
            string_0 = type_1.AssemblyQualifiedName;
            return(true);
        }
        string_0 = null;
        return(false);
    }
예제 #19
0
    // Token: 0x060009F6 RID: 2550 RVA: 0x0003868C File Offset: 0x0003688C
    public static MemberSerialization smethod_4(Type type_0, bool bool_0)
    {
        JsonObjectAttribute jsonObjectAttribute = Class124.smethod_0 <JsonObjectAttribute>(type_0);

        if (jsonObjectAttribute != null)
        {
            return(jsonObjectAttribute.MemberSerialization);
        }
        if (Class124.smethod_2(type_0) != null)
        {
            return(MemberSerialization.OptIn);
        }
        if (!bool_0 && Class124.smethod_15(type_0))
        {
            return(MemberSerialization.Fields);
        }
        return(MemberSerialization.OptOut);
    }
예제 #20
0
        private Class121 method_3()
        {
            bool     flag = this.class144_0.vmethod_10(1) != 0;
            int      num  = this.class144_0.vmethod_10(7);
            int      num2 = this.class144_0.vmethod_10(24);
            Class121 result;

            if (num == 0)
            {
                this.class122_0 = new Class122(this.class144_0, num2, flag);
                result          = this.class122_0;
            }
            else if (num == 3)
            {
                this.class127_0 = new Class127(this.class144_0, num2, flag);
                result          = this.class127_0;
            }
            else if (num == 2)
            {
                result = new Class124(this.class144_0, num2, flag);
            }
            else if (num == 1)
            {
                result = new Class128(this.class144_0, num2, flag);
            }
            else if (num == 4)
            {
                result = new Class129(this.class144_0, num2, flag);
            }
            else if (num == 5)
            {
                result = new Class125(this.class144_0, num2, flag);
            }
            else if (num == 6)
            {
                result = new Class123(this.class144_0, num2, flag);
            }
            else
            {
                result = new Class126(this.class144_0, num2, flag);
            }
            return(result);
        }
예제 #21
0
    // Token: 0x060009FF RID: 2559 RVA: 0x0003884C File Offset: 0x00036A4C
    private static D9OIlddtdXBXEWa8CH9 smethod_13 <D9OIlddtdXBXEWa8CH9>(MemberInfo memberInfo_0) where D9OIlddtdXBXEWa8CH9 : Attribute
    {
        Type type = Class124.smethod_10(memberInfo_0.DeclaringType);
        D9OIlddtdXBXEWa8CH9 d9OIlddtdXBXEWa8CH;

        if (type != null)
        {
            MemberInfo memberInfo = Class90.smethod_37(type, memberInfo_0);
            if (memberInfo != null)
            {
                d9OIlddtdXBXEWa8CH = Class90.smethod_32 <D9OIlddtdXBXEWa8CH9>(memberInfo, true);
                if (d9OIlddtdXBXEWa8CH != null)
                {
                    return(d9OIlddtdXBXEWa8CH);
                }
            }
        }
        d9OIlddtdXBXEWa8CH = Class90.smethod_32 <D9OIlddtdXBXEWa8CH9>(memberInfo_0, true);
        if (d9OIlddtdXBXEWa8CH != null)
        {
            return(d9OIlddtdXBXEWa8CH);
        }
        if (memberInfo_0.DeclaringType != null)
        {
            Type[] interfaces = memberInfo_0.DeclaringType.GetInterfaces();
            for (int i = 0; i < interfaces.Length; i++)
            {
                MemberInfo memberInfo2 = Class90.smethod_37(interfaces[i], memberInfo_0);
                if (memberInfo2 != null)
                {
                    d9OIlddtdXBXEWa8CH = Class90.smethod_32 <D9OIlddtdXBXEWa8CH9>(memberInfo2, true);
                    if (d9OIlddtdXBXEWa8CH != null)
                    {
                        return(d9OIlddtdXBXEWa8CH);
                    }
                }
            }
        }
        return(default(D9OIlddtdXBXEWa8CH9));
    }
예제 #22
0
파일: Class2.cs 프로젝트: jollitycn/JGNet
 public void imethod_4(TransferingProject transferingProject_0, ResumedProjectItem resumedProjectItem_0, bool bool_0)
 {
     this.iobjectManager_2.Remove(transferingProject_0.ProjectID);
     if (!this.iobjectManager_1.Contains(transferingProject_0.ProjectID))
     {
         this.iobjectManager_1.Add(transferingProject_0.ProjectID, transferingProject_0);
         bool             flag       = bool_0 && (resumedProjectItem_0 != null);
         IFileTransHelper interface2 = null;
         if (transferingProject_0.IsFolder)
         {
             DirectoryReceiver class2 = flag ? new DirectoryReceiver(this.RnOiFeTpq, transferingProject_0.ProjectID, string_0, resumedProjectItem_0) : new DirectoryReceiver(this.RnOiFeTpq, transferingProject_0.ProjectID, transferingProject_0.LocalSavePath, transferingProject_0.TotalSize, string_0);
             class2.FileTransReceived += new CbGeneric <string>(this.OnSingleFileRevFinished);
             interface2 = class2;
         }
         else if (transferingProject_0.LocalSaveStream == null)
         {
             interface2 = flag ? new FileReceiver(this.RnOiFeTpq, transferingProject_0.ProjectID, resumedProjectItem_0) : new FileReceiver(this.RnOiFeTpq, transferingProject_0.ProjectID, transferingProject_0.LocalSavePath, transferingProject_0.TotalSize, string_0);
         }
         else
         {
             interface2 = new Class124(this.RnOiFeTpq, transferingProject_0.ProjectID, transferingProject_0.LocalSaveStream, transferingProject_0.TotalSize);
         }
         interface2.FileTransCompleted  += new CbGeneric <string>(this.OnFileTransCompleted);
         interface2.FileTransDisruptted += new CbFileTransDisruptted(this.method_3);
         interface2.FileTransProgress   += new CbFileSendedProgress(this.OnFileTransProgress);
         this.iobjectManager_0.Add(transferingProject_0.ProjectID, interface2);
         this.class93_0.RemoveResumedProjectItem(resumedProjectItem_0, !flag);
         if (flag)
         {
             this.FileTransStarted(transferingProject_0);
         }
         else
         {
             this.FileTransCompleted(transferingProject_0);
         }
     }
 }
 public override void Visit(Class124 c) { }
 public abstract void Visit(Class124 c);