J'apprends les propriétés de l'interface et je suis tombé sur quelque chose que je pensais devoir fonctionner en fonction de MSDN et des exemples de manuels, mais ce n'est pas le cas. Si j'implémente la propriété d'interface explicitement, elle n'est pas reconnue lorsque mon instance de classe tente d'y accéder, mais fonctionne correctement si je le fais implicitement (je ne sais pas si c'est la bonne terminologie).La propriété d'interface échoue lors de la définition explicite
interface IMyInterface
{
string Name { get; set; }
}
class MyClass : IMyInterface
{
private string name;
string IMyInterface.Name //works if not explicit: i.e., public string Name
{
get { return this.name; }
set { this.name = value; }
}
}
class Program
{
static void Main(string[] args)
{
MyClass myClass = new MyClass();
myClass.Name = "blah"; // fails
}
}
Ah, ok. Je comprends maintenant et merci. Certains d'entre eux sont si confus ... – user943870