public override void VisitElementA(ElementA elementA) { // Код который мог быть размещен в классе ElementA, // расширяет собой класс ElementA. elementA.SomeState = "State A"; Console.WriteLine(elementA.SomeState); // Работа с разнородным интерфейсом. elementA.OperationA(); }
public static void VisitConcreteElementA(this ElementA element) { element.OperationA(); }