public static Dimensions GetDimensions(this Body body) { var visitor = new DimensionsVisitor(); body.Accept(visitor); return(visitor.Dimensions); }
public static Dimensions GetDimensions(this Body body) { var visitor = new DimensionsVisitor(); // Этот трюк с dynamic нужен, чтобы код компилировался, // пока вы выполняете первую задачу и ещё не создали метод Body.Accept. // В реальном коде он не нужен, а можно просто вызывать body.Accept(...) body.Accept(visitor); return(visitor.Dimensions); }