static void Main(string[] args) { ProgramConverter[] check = new ProgramConverter[2]; check[0] = new ProgramConverter(); check[1] = new ProgramHelper(); for (int i = 0; i < check.Length; i++) { if (check[i] is ICodeChecker) { ICodeChecker codeCheck = check[i] as ProgramHelper; if (codeCheck.CheckCodeSyntax("lol", "haha")) { Console.WriteLine(check[i].ConvertToCSharp("lol")); } else { Console.WriteLine(check[i].ConvertToVB("lol")); } } else { IConvertible convert = check[i] as ProgramConverter; Console.WriteLine(convert.ConvertToCSharp("lol")); Console.WriteLine(convert.ConvertToVB("lol")); } } }
static void Main(string[] args) { ProgramConverter[] check = new ProgramConverter[2]; // создали массив элементов ProgramConverter check[0] = new ProgramConverter(); // тип ProgramConverter check[1] = new ProgramHelper(); // тип ProgramHelper for (int i = 0; i < check.Length; i++) // проверка реализации метода ICodeChecker { if (check[i] is ICodeChecker) // если метод реализуется, вызываем метод проверки кода и соответствующий метод преобразования { ICodeChecker codeCheck = check[i] as ProgramHelper; if (codeCheck.CheckCodeSyntax("coding", "programmer")) { Console.WriteLine(check[i].ConvertToCSharp("coding")); } else { Console.WriteLine(check[i].ConvertToVB("coding")); } } else // если метод не реализуется, вызываем два метода преоброзвания кода { IConvertible convert = check[i] as ProgramConverter; Console.WriteLine(convert.ConvertToCSharp("coding")); Console.WriteLine(convert.ConvertToVB("coding")); } } }