Skip to content

Latest commit

 

History

History
7 lines (6 loc) · 2.07 KB

File metadata and controls

7 lines (6 loc) · 2.07 KB

labInterfaces

• Определить интерфейс IConvertible, указывающий, что реализующий его класс может конвертировать блок кода в С# или VB код. В интерфейсе определить два метода ConvertToCSharp и ConvertToVB, каждый из которых принимает и возвращает строку. • Создать класс ProgramHelper, реализующий интерфейс IConvertible. При написании методов вместо преобразования строки использовать простые строковые сообщения для имитации преобразования. • Создать новый интерфейс ICodeChecker, определив в нем метод CheckCodeSyntax, принимающий две строки: строка для проверки и используемый язык. Метод должен возвращать тип bool. Добавить в класс ProgramHelper функциональность нового интерфейса IСodeChecker • Создать класс ProgramConverter, реализующий интерфейс IConvertible. Изменить класс ProgramHelper, наследуя его от класса ProgramConverterи интерфейса ICodeChecker. • Протестировать класс, создав массив объектов ProgramConverter, одни из которых имеют тип ProgramConverter, а другие– тип ProgramHelper. Для каждого элемента массива проверить, что он реализуют интерфейс IСodeChecker, или нет. Если реализует интерфейс IСodeChecker, то вызвать метод проверки кода, и соответствующий метод преобразования. Если не реализует интерфейс IСodeChecker, то вызвать два метода преобразования кода.