Как я могу заставить объект вызываться только через его интерфейс? Это может быть достигнуто только через Access Modifier, но в C # не может сделать.
У меня есть:
public interface IProfile { string GetName(); }
public class Profile : IProfile {
public string GetName() { return "Linh"; }
}
У меня есть секция кода, подобная приведенной выше. Я помещаю его в библиотеку классов, после чего создаю сборку.
В веб-проекте некоторые программисты добавляют ссылку на эту сборку. Если они хотят вызвать класс Profile, они должны использовать интерфейс IProfile, как указано ниже:
IProfile ip = new Profile();
ip.GetName();
Но некоторые неосторожные программисты этого не сделают. Они будут использовать ниже путь:
Profile pr = new Profile();
pr.GetName();