public static void ReadStruct <T>(this IAxDeserializer s, out T target) where T : struct
        {
            Delegate @delegate;
            bool     flag = !Delegates.TryGetValue(typeof(T), out @delegate);

            if (flag)
            {
                @delegate = Deserializer.GetDynamicDeserializer(typeof(T)).CreateDelegate(typeof(StructDeserializer <T>));
            }
            StructDeserializer <T> structDeserializer = (StructDeserializer <T>)@delegate;

            structDeserializer(s, out target);
        }
        public static T ReadClass <T>(this IAxDeserializer s) where T : class
        {
            Delegate @delegate;
            bool     flag = !Delegates.TryGetValue(typeof(T), out @delegate);

            if (flag)
            {
                @delegate = Deserializer.GetDynamicDeserializer(typeof(T)).CreateDelegate(typeof(ClassDeserializer <T>));
            }
            ClassDeserializer <T> classDeserializer = (ClassDeserializer <T>)@delegate;

            return(classDeserializer(s));
        }