private static void RegisterType(Type type) { SerializableAliasAttribute serializableAlias = (SerializableAliasAttribute)type .GetCustomAttributes(typeof(SerializableAliasAttribute)) .FirstOrDefault(); if (serializableAlias != null) { FrameworkSerializerRegistry.Map(serializableAlias.Value, type); } else { FrameworkSerializerRegistry.Map(type.FullName, type); } }
internal static void WriteTypeInformation <T>(this IBsonWriter writer, T value) { Type valueType = value.GetType(); SerializableAliasAttribute serializableAlias = (SerializableAliasAttribute)valueType .GetCustomAttributes(typeof(SerializableAliasAttribute)) .FirstOrDefault(); if (serializableAlias != null) { writer.WriteName(Conventions.TypeAlias); writer.WriteString(serializableAlias.Value); } else { writer.WriteName(Conventions.Type); writer.WriteString(valueType.FullName); } }