1
+ using System ;
1
2
using YamlDotNet . Serialization ;
2
3
using YamlDotNet . Serialization . NamingConventions ;
3
4
@@ -22,17 +23,34 @@ public static string Serialize(object obj)
22
23
. WithTypeConverter ( new TimeSpanConverter ( ) )
23
24
. WithTypeConverter ( new VersionConverter ( ) )
24
25
. WithTypeConverter ( new VersionRangeConverter ( ) )
26
+ //.EmitDefaults()
25
27
. Build ( )
26
28
. Serialize ( obj ) ;
27
29
}
28
30
29
31
/// <summary>
30
32
/// Deserializes the specified Yaml.
31
33
/// </summary>
32
- /// <typeparam name="T">Type to deserialize as.</typeparam>
34
+ /// <typeparam name="T">The type to deserialize as.</typeparam>
33
35
/// <param name="yml">The Yaml string.</param>
34
36
/// <returns>The deserialized object.</returns>
35
37
public static T Deserialize < T > ( string yml )
38
+ {
39
+ return Deserializer ( ) . Deserialize < T > ( yml ) ;
40
+ }
41
+
42
+ /// <summary>
43
+ /// Deserializes the specified Yaml.
44
+ /// </summary>
45
+ /// <param name="yml">The Yaml string.</param>
46
+ /// <param name="type">The type to deserialize as.</param>
47
+ /// <returns>The deserialized object.</returns>
48
+ public static object Deserialize ( string yml , Type type )
49
+ {
50
+ return Deserializer ( ) . Deserialize ( yml , type ) ;
51
+ }
52
+
53
+ private static IDeserializer Deserializer ( )
36
54
{
37
55
return new DeserializerBuilder ( )
38
56
. WithNamingConvention ( new UnderscoredNamingConvention ( ) )
@@ -42,8 +60,7 @@ public static T Deserialize<T>(string yml)
42
60
. WithTypeConverter ( new TimeSpanConverter ( ) )
43
61
. WithTypeConverter ( new VersionConverter ( ) )
44
62
. WithTypeConverter ( new VersionRangeConverter ( ) )
45
- . Build ( )
46
- . Deserialize < T > ( yml ) ;
63
+ . Build ( ) ;
47
64
}
48
65
}
49
66
}
0 commit comments