Comment puis-je forcer un objet à être appelé uniquement via son interface? Cela peut seulement accomplir via le modificateur d'accès mais en C# ne peut pas faire.Forcer un objet à être appelé via son interface
je:
public interface IProfile { string GetName(); }
public class Profile : IProfile {
public string GetName() { return "Linh"; }
}
J'ai une section de code comme celui ci-dessus. Je l'ai mis dans une bibliothèque de classe après que je génère un assemblage.
Dans un projet Web, certains programmeurs ajouteront une référence à cet assembly. S'ils veulent appeler la classe profil, ils doivent alors utiliser l'interface IPROFILE comme déclaration ci-dessous:
IProfile ip = new Profile();
ip.GetName();
Mais certains programmeurs imprudents ne le fera pas. Ils utiliseront ci-dessous ainsi:
Profile pr = new Profile();
pr.GetName();
J'écris une bibliothèque de classes et les programmeurs vont appeler certains objets dans cette interface via l'objet. Mais je pense que cela ne peut pas accomplir en C# – Linh
Linh: S'il vous plaît écrire une version pseudo-code de ce que vous voulez faire. Ce n'est pas très clair. –
Quels problèmes rencontrez-vous? –