позволяет преобразовывать null в пустой IEnumerable?
тебе везде надо или только в конкретных местах? у тебя есть доступ к dto?
везде, по ту сторону петухон, каждое поле не хочется в коде на null чекать, дтошки мои - доступ есть
в целом у тебя 2 варианта, либо игнорить запись либо писать Array.Empty в коллекции в которых пытаются засетать нул. пример static void Modifier(JsonTypeInfo jsonTypeInfo) { foreach (var prop in jsonTypeInfo.Properties) { if (prop.PropertyType is { IsGenericType: true } propType && propType.GetGenericTypeDefinition() == typeof(IEnumerable<>)) { var elementType = propType.GetGenericArguments()[0]; var arrayEmptyMethod = typeof(Array).GetMethod(nameof(Array.Empty)).MakeGenericMethod(elementType); var defaultValue = arrayEmptyMethod.Invoke(null, null); var set = prop.Set; prop.Set = (o, v) => { if (v is null) set(o, defaultValue); else set(o, v); }; } } }
Обсуждают сегодня