Невозможно инкапсулировать, а также ImplementInterface - PullRequest
1 голос
/ 22 декабря 2010

Я использую C # в Silverlight (я создал новую папку класса. Однако у меня нет опции для инкапсуляции (мне пришлось печатать сам, другая проблема - фрагменты), а также опция разрешения и реализации (я использую 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 ]

2 голосов
/ 22 декабря 2010

Посмотри на корпус! Закрытая строка _FirstName имеет заглавную букву 'F', но переменная экземпляра, на которую есть ссылка ниже, имеет строчную букву 'f' Имена переменных чувствительны к регистру

0 голосов
/ 22 декабря 2010

Вот как должен выглядеть ваш код: -

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;
}
...