Я получаю CS0175 Use of keyword 'base' is not valid in this context
ошибку в моем проекте модульного теста.
Так выглядит мой код:
Класс, который реализует интерфейс
public interface iUtility
{
void Print();
}
public class Utility: iUtility
{
public void Print()
{
Console.Write("Print");
}
}
Базовый класс, который использует служебный класс и производный класс
public class BaseCls
{
private iUtility _iUtility;
public BaseCls()
{
_iUtility = new Utility();
}
public BaseCls(iUtility iUtility)
{
_iUtility = iUtility;
}
}
public class DerivedCls : BaseCls
{
public void PrintSomething()
{
Console.Write("Print Something");
}
}
В моем проекте модульного тестирования я тестирую производный класс и пытаюсь пройтиэкземпляр служебного класса.Почему я делаю это сейчас, может не иметь смысла, но я планирую использовать единую структуру и IoC для внедрения различных зависимостей.
Я не показываю весь код для краткости.
Произошла ошибка в модульном тестовом проекте
[TestClass]
public class UnitTest1
{
public void TestInitialize()
{
//I want to pass instance of utility class here
iUtility obj = new Utility();
DerivedCls cls = new DerivedCls(): base(obj);
}
[TestMethod]
public void TestMethod1()
{
}
}
Что мне нужно сделать, чтобы исправить эту ошибку?Я хочу передать экземпляр служебного класса из производного класса через конструктор.