/// <summary> /// Creates a <see cref="YamlMappingNode" /> containing a key-value pair for each property of the specified object. /// </summary> public static YamlMappingNode FromObject(object mapping) { if (mapping == null) { throw new ArgumentNullException(nameof(mapping)); } var result = new YamlMappingNode(); foreach (var property in mapping.GetType().GetPublicProperties()) { // CanRead == true => GetGetMethod() != null if (property.CanRead && property.GetGetMethod(false) !.GetParameters().Length == 0) { var value = property.GetValue(mapping, null); if (!(value is YamlNode valueNode)) { var valueAsString = Convert.ToString(value); valueNode = valueAsString ?? string.Empty; } result.Add(property.Name, valueNode); } } return(result); }
public static YamlMappingNode FromObject(object mapping) { if (mapping == null) { throw new ArgumentNullException("mapping"); } YamlMappingNode yamlMappingNode = new YamlMappingNode(); foreach (PropertyInfo publicProperty in mapping.GetType().GetPublicProperties()) { if (publicProperty.CanRead && publicProperty.GetGetMethod().GetParameters().Length == 0) { object value = publicProperty.GetValue(mapping, null); YamlNode value2 = (value as YamlNode) ?? ((YamlNode)Convert.ToString(value)); yamlMappingNode.Add(publicProperty.Name, value2); } } return(yamlMappingNode); }
/// <summary> /// Creates a <see cref="YamlMappingNode" /> containing a key-value pair for each property of the specified object. /// </summary> public static YamlMappingNode FromObject(object mapping) { if (mapping == null) { throw new ArgumentNullException("mapping"); } var result = new YamlMappingNode(); foreach (var property in mapping.GetType().GetPublicProperties()) { if (property.CanRead && property.GetGetMethod().GetParameters().Length == 0) { var value = property.GetValue(mapping, null); var valueNode = (value as YamlNode) ?? (Convert.ToString(value)); result.Add(property.Name, valueNode); } } return(result); }