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)); }