Palesh1990 Ответов: 1

Лениво инициализированный тип не имеет открытого конструктора без параметров.


всем привет,

у меня есть интерфейс скажем так
IInconsistencyReportSupport
.
класс InconsistencyReportSupport реализует интерфейс IInconsistencyReportSupport.

интерфейс имеет метод ProcessInconsObjects и свойство словаря "DictObjectAndDomains"

Я написал unittests, чтобы проверить "
DictObjectAndDomains
".Внутри unit-тестов
Public ReadOnly Property IRServiceSupport() As IInconsistencyReportSupport
         Get
             If mobjIRServiceSupport Is Nothing OrElse mobjIRServiceSupport.Value Is Nothing Then
                 mobjIRServiceSupport = New Lazy(Of IInconsistencyReportSupport)
             End If
             Return mobjIRServiceSupport.Value
         End Get
     End Property




В моем unittest
Public Sub ExcludeSpecifiedCDWPropertiesCrossConfigTest()

IRServiceSupport.DictObjectAndDomains= pdictobjects
end sub



но терпит неудачу с Эрро:
Assert.Fail failed. System.MissingMemberException: The lazily-initialized type does not have a public, parameterless constructor.
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at System.Lazy`1.get_Value()


пожалуйста, подскажите, как я могу проверить словарь

Что я уже пробовал:

я попытался добавить конструктор по умолчанию для класса, даже если у него есть та же проблема.pls предлагает, как действовать дальше

1 Ответов

Рейтинг:
2

Palesh1990

Get
               If mobjIRServiceSupport Is Nothing Then
                   mobjIRServiceSupport = New Lazy(Of IInconsistencyReportSupport)(Function() New InconsistencyReportSupport)
               End If
               Return mobjIRServiceSupport.Value
           End Get




Исправлена ошибка путем добавления типа класса в свойство