public static T DeepCopy <T>(T value, DeepCopyOptions options = DeepCopyOptions.DeepCopier) { return(options switch { DeepCopyOptions.DeepCopier => DeepCopier.Copy(value), DeepCopyOptions.ExpressionCopier => ExpressionCopier <T> .Copy(value), _ => ExpressionCopier <T> .Copy(value) });
public static T DeepCopy <T>(this T x, DeepCopyOptions options = DeepCopyOptions.DeepCopier) { return(TypeVisit.DeepCopy(x, options)); }