using System.Collections.Generic;
using System.Collections;
public static void Main()
Console.WriteLine("Update an existing object");
bool validMembers(object sourceValue)
if (sourceValue is null) return false;
case string { Length: > 0 }:
case ICollection { Count: > 0 } l:
var destination = new Foo{Name = "bar"};
var source = new Foo{Name="", Address="city", Kind = Kind.Male, Cert = new List<string>() {"c1", "c2"}};
Console.WriteLine("Destination before update:");
Console.WriteLine($"\tName: {destination.Name}, Address: {destination.Address} kind: {destination.Kind} Cert couunt: {destination.Cert?.Count()}");
TypeAdapterConfig.GlobalSettings.Default
.IgnoreMember((member, side) => validMembers(member));
TypeAdapterConfig<Foo, Foo>
source.Adapt(destination);
Console.WriteLine("Destination After update:");
Console.WriteLine($"\tName: {destination.Name}, Address: {destination.Address}, kind: {destination.Kind}, Cert couunt: {destination.Cert.Count()}");
public string Name { get; set; }
public string Address { get; set; }
public Kind Kind { get; set; }
public IEnumerable<string> Cert { get; set; }