Bogus Faker создает случайные нулевые строки
У меня такой код:
public class AddrSegment
{
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string AddressLine3 { get; set; }
public string AddressLine4 { get; set; }
public string AddressLine5 { get; set; }
public string PostCode { get; set; }
}
public class AddrData
{
private AddrSegment Address()
{
var addr = new Faker<AddrSegment>()
.RuleFor(a => a.AddressLine1, f => f.Address.BuildingNumber().OrNull(f, 0.15f))
.RuleFor(a => a.AddressLine2, f => f.Address.StreetAddress())
.RuleFor(a => a.AddressLine3, f => f.Address.City())
.RuleFor(a => a.AddressLine4, f => f.Address.County())
.RuleFor(a => a.PostCode, f => f.Address.ZipCode());
return addr;
}
}
Проблема в том, что когда я пытаюсь использовать расширение OrNull, я получаю следующую ошибку:
The type 'string' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'ExtensionsForFakerT.OrNull<T>(T, Faker, float)
Различные примеры, которые я нашел, предполагают, что это должно работать - тип 'string' должен быть типом, не допускающим значения NULL, чтобы использовать его в качестве параметра T в универсальном типе или методе 'System.Nullable
Если я попробую это сделать с int, я не получу этой ошибки.