4 using SharpYaml.Events;
5 using SharpYaml.Serialization;
6 using SiliconStudio.Core.Reflection;
8 namespace SiliconStudio.Core.Yaml
13 [YamlSerializerFactory]
14 internal class GuidSerializer : AssetScalarSerializerBase
16 static GuidSerializer()
18 TypeDescriptorFactory.Default.AttributeRegistry.Register(typeof(Guid),
new DataContractAttribute(
"Guid"));
21 public override bool CanVisit(Type type)
23 return type == typeof(Guid);
26 public override object ConvertFrom(ref ObjectContext context, Scalar fromScalar)
29 Guid.TryParse(fromScalar.Value, out guid);
33 public override string ConvertTo(ref ObjectContext objectContext)
35 return ((Guid)objectContext.Instance).ToString();