Мне не удалось найти убедительный ответ, что было точной разницей между объявлением объекта как класса или интерфейса.Разница при объявлении объектов с классом или интерфейсом C#
Что будет разница между обоими кодом ниже
ILogger log = new MyLogger(); //ILogger is an interface and MyLogger class implements ILogger
и
MyLogger log = new MyLogger();
Как бы создать объект типа MyLogger
то, что разница между двумя выше.
Прочтите http://dotnet.dzone.com/articles/c-interfaces-what-are-they- и здесь короткое объяснение. Но, пожалуйста, сделайте какое-либо исследование, прежде чем задавать вопросы. – wudzik
Я бы сказал, что в основном строка 'ILogger log = new MyLogger();' ожидает, что журнал будет иметь тип, который реализует вещи из интерфейса ILogger и строки MyLogger log = new MyLogger(); 'ожидает, что журнал будет иметь' MyLogger'. – Tafari