public static IAxSerializer WriteStruct <T>(this IAxSerializer s, ref T source) where T : struct { Delegate @delegate; bool flag = !Delegates.TryGetValue(typeof(T), out @delegate); if (flag) { @delegate = Serializer.GetDynamicSerializer(typeof(T)).CreateDelegate(typeof(StructSerializer <T>)); } StructSerializer <T> structSerializer = (StructSerializer <T>)@delegate; structSerializer(s, ref source); return(s); }
public static IAxSerializer WriteClass <T>(this IAxSerializer s, T source) where T : class { Delegate @delegate; bool flag = !Delegates.TryGetValue(typeof(T), out @delegate); if (flag) { @delegate = Serializer.GetDynamicSerializer(typeof(T)).CreateDelegate(typeof(ClassSerializer <T>)); } ClassSerializer <T> classSerializer = (ClassSerializer <T>)@delegate; classSerializer(s, source); return(s); }