У меня есть выражение og MOQ (lambda/linq) в C#. Когда пытались conevert и использовать этот код в vb.net, я получаю сообщение об ошибкеПреобразование кода установки MOQ в vb.net с C#
C# код
_dataLayerMock.Setup(x => x.SaveAccount(It.Is<Account>(a => a.AccountType == AccountType.Private)));
Старинное VB.net код
_dataLayerMock.Setup(Function(x) x.SaveAccount(It.[Is](Of Account)(Function(a) a.AccountType = AccountType.[Private])))
Ошибка
Error 1 Overload resolution failed because no accessible 'Setup' can be called with these arguments:
'Public Function Setup(Of TResult)(expression As System.Linq.Expressions.Expression(Of System.Func(Of ConsoleApplication1.IDataLayer, TResult))) As Moq.Language.Flow.ISetup(Of ConsoleApplication1.IDataLayer, TResult)': Expression does not produce a value.
'Public Function Setup(Of TResult)(expression As System.Linq.Expressions.Expression(Of System.Func(Of ConsoleApplication1.IDataLayer, TResult))) As Moq.Language.Flow.ISetup(Of ConsoleApplication1.IDataLayer, TResult)': Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error.
'Public Function Setup(expression As System.Linq.Expressions.Expression(Of System.Action(Of ConsoleApplication1.IDataLayer))) As Moq.Language.Flow.ISetup(Of ConsoleApplication1.IDataLayer)': Expression does not produce a value. D:\Araamudhan\Project\Amex\Maven-NPanday\Application\ClassLibrary\LinqTest\LinqTest\BusinessLayerTest.vb 20 9 LinqTest
Может ли кто-нибудь помочь мне решить, как решить эту проблему?
Великого ответа, преобразователь кода только то, что нужно :-) –
Получению ту же ошибке. Этот конвертер также дает мне тот же код. – Jay
Пожалуйста, проверьте свой код, передаете ли вы правильный параметр для метода установки. Не слишком хорошо знакомы с MOQ, с предоставленной информацией, похоже, что вы вызываете метод при настройке ... «Ошибка перегрузки завершилась неудачно, потому что с помощью этих аргументов нельзя вызвать« Setup », – Swaraj