我正在学习接口属性并遇到了一些我认为应该基于 MSDN 和书籍示例工作的东西,但事实并非如此。如果我显式实现接口属性,则当我的类实例尝试访问时它不会被识别,但如果我隐式执行它则可以正常工作(不确定这是否是正确的术语)。
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
}
}