2010-12-22 38 views
1

我在Silverlight中使用C#(我创建了一个新的类文件夹。但是,我没有选择封装(我必须输入自己,片段是另一个问题)实施方案(我使用Visual Studio 2010)请我究竟做错了?这里有一个例子我试图解决和实现INotifyPropertyChanged无法封装也实现接口

public class Person : INotifyPropertyChanged 
{ 

    private string _FirstName; 
    public string FirstName 
    { 
     get { return _firstName; } 
     set { _firstName = value; } 
    } 

    private string _greeting; 
    public string Greeting 
    { 
     get { return _greeting; } 
     set { _greeting = value; } 
    } 

回答

2

看那外壳!私人字符串_FirstName有captial 'F',但在它下方引用的实例变量具有小写'f'。变量名称区分大小写

+0

是的,仍然不会解决问题我试图改变这一点。当我右键单击声明的行它不给我的选项来解决或实现INotifyPropertyChanged也封装私人字符串_FirstName;封装我读你有配置或'导入'代码管理器,但我仍然不工作。我对Visual Studio和Silverlight相当陌生,但它很酷,所以我想知道如何使用它。感谢您的所有输入来解决此问题! – 2010-12-22 04:08:21

+0

哦,我明白了。你正在谈论一些IDE如何让你右键点击自动实现一个功能。像为接口方法添加存根一样。我很抱歉,但我不知道如何在VS – Samuel 2010-12-22 04:12:27

0

这是你的代码应该是什么样子: -

public class Person : INotifyPropertyChanged 
{ 

    private string _firstName; 
    public string FirstName 
    { 
     get { return _firstName; } 
     set { _firstName = value; NotifyPropertyChanged("FirstName"); } 
    } 

    private string _greeting; 
    public string Greeting 
    { 
     get { return _greeting; } 
     set { _greeting = value; NotifyPropertyChanged("Greeting"); } 
    } 

    private void NotifyPropertyChanged(string name) 
    { 
     if (PropertyChanged != null) 
      PropertyChanged(this, new PropertyChangedEventArgs(name)); 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 
}