Этот тип временной связи (событие должно быть инициировано до того, как вызов Foo
действителен) часто считается недостатком проекта, поэтому первое, что я хотел бы сделать, - это вернуться к дизайну, чтобы убедиться в том, что у меня правильно.
Если вы не хотите идти по этому пути, самое простое решение - инициализировать SomeType
с реализацией Null Object SomeType
, например, так ...
class NullSomeType : SomeType
{
public override bool SomeLogic() { return false; }
}
Тогда вы по умолчанию SomeType с нулевым объектом в конструкторе.
public MyBaseClass()
{
SomeType = new NullSomeType();
}