var arr = new Dto[] { new SomeDto() };
var sw = new SomeWrapper<Dto>(arr);
Console.WriteLine(sw.L1?[0]);
Console.WriteLine(sw0.L1?[0]);
public sealed record SomeWrapper<T>(T[]? L1)
: SomeWrapper(L1) where T : Dto
public new T[]? L1 => (T[]?)base.L1;
public record SomeWrapper(Dto[]? L1);
public class SomeDto : Dto {}
public interface Dto2<T> : Dto
public override string ToString() => "DDD";