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, я не получу этой ошибки.

0 ответов

Другие вопросы по тегам