У меня есть базовый класс, ctor которого принимает делегата в качестве параметра, и класс, который наследуется от него.
Следующее работает просто отлично:
class Base
{
public Base(Func<bool> func)
{
}
}
class Sub : Base
{
public Sub()
: base(() => true)
{
}
public Sub(int i)
: base(() => { return true; })
{
}
}
Как я могу передать функцию экземпляра в качестве параметра?
Компилятор выдает ошибку «Ссылка на объект требуется для нестатического поля, метода или свойства».
Я хотел бы получить следующее:
class Sub : Base
{
public Sub()
: base(Func)
{
}
private bool Func()
{
return true;
}
}
Это сработало бы, если бы Func
был статическим методом. Но я бы хотел использовать элементы экземпляра внутри функции.
Как я мог это сделать?