Пример кода:
Ниже приведен неполный код, но этого достаточно, чтобы показать проблему с массой, с которой я столкнулся.
namespace ClassLibrary1
{
class Class1
{
internal static void sum(ref List<TestClass> a, int b)
{
//some code
}
}
}
В той же сборке есть другой класс
namespace ClassLibrary1
{
class TestClass
{
//code
}
}
когда я создаю блок тестового примера для суммы метода, тогда код будет выглядеть как
[TestMethod()]
public void sumTest()
{
List<TestClass_Accessor> lstTestClass = new List<TestClass_Accessor>();
Class1_Accessor.sum(ref lstTestClass, b);
}
Проблема: в приведенном выше коде я создаю список типа TestClass, но это закрытый класс, поэтому VSTS создает TestClass_Accessor для доступафункциональность класса.В методе Sum он принимает параметр как ссылку на список типа «TestClass».
Я также отладил свой код, но когда отлажен
Class1_Accessor.sum(ref lstTestClass, b);
, выдается исключение «System.InvalidProgramException: JIT компилятор обнаружил внутреннее ограничение ".
Когда я создал список строкового типа, он работает, то есть список не имеет проблем.
Согласно моему пониманию, проблема заключается в типе списка.в модульном тесте мы создаем список типа TestClass_Accessor
.
И в списке классов есть тип List<TestClass>
.
, пожалуйста, предоставьте решение для этого.
С уважением,
Нитин Саху