Можем ли мы иметь общие свойства? - PullRequest
0 голосов
/ 14 сентября 2010

Можем ли мы иметь общие свойства? У меня есть требование для хранения данных. Итак, я выбрал класс с общими свойствами. Когда я добавляю данные в это свойство, появляется ошибка, что «Ссылка на объект не установлена ​​на экземпляробъект ". Пожалуйста, предложите мне какую-нибудь идею.

class GeneralClass
    {
        private List<int> _student_rollnumber;
        public List<string> _student_name;
        public List<int> Student_RollNumber
        {
            get { return _student_rollnumber; }
            set { _student_rollnumber = value; }
        }
        public List<string> Student_Name
        {
            get { return _student_name; }
            set { _student_name = value; }
        }
    }




Я использовал класс при нажатии кнопки.

private void btn_save_Click(object sender, EventArgs e)
      {
          try
          {
              GeneralClass obj = new GeneralClass();
              obj.Student_RollNumber.Add(int.Parse(txtbx_rollnum.Text));
              obj.Student_Name.Add(txtbx_SName.Text);
              MessageBox.Show("Data saved");
          }
          catch (Exception ex)
          {
              MessageBox.Show(ex.Message, "Message from form");
          }
      }

Ответы [ 4 ]

0 голосов
/ 16 января 2013

Вы можете получить помощь по следующей ссылке.

http://msdn.microsoft.com/en-us/library/ms379564(v=vs.80).aspx

0 голосов
/ 14 сентября 2010

Вы не инициализируете списки, поэтому по умолчанию они равны null, что означает, что вы получаете NullReferenceException, когда пытаетесь добавить к ним ваш метод обработчика кликов.

class GeneralClass
{
    // initialise to a new List<int>, otherwise it will default to null
    private List<int> _student_rollnumber = new List<int>();

    // initialise to a new List<string>, otherwise it will default to null
    private List<string> _student_name = new List<string>();

    public List<int> Student_RollNumber
    {
        get { return _student_rollnumber; }
        // chances are that you don't need the setter, uncomment it if you do
        //set { _student_rollnumber = value; }
    }

    public List<string> Student_Name
    {
        get { return _student_name; }
        // chances are that you don't need the setter, uncomment it if you do
        //set { _student_name = value; }
    }
}
0 голосов
/ 14 сентября 2010
class GeneralClass
    {
        public GeneralClass
        {
           _student_rollnumber = new List<int>();
           _student_name = new List<string>();
        }

        private List<int> _student_rollnumber;
        public List<string> _student_name;
        public List<int> Student_RollNumber
        {
            get { return _student_rollnumber; }
            set { _student_rollnumber = value; }
        }
        public List<string> Student_Name
        {
            get { return _student_name; }
            set { _student_name = value; }
        }
    }
0 голосов
/ 14 сентября 2010

Это не имеет ничего общего с генериками.

Вы просто не инициализировали переменные-члены, т. Е. _student_rollnumber и _student_name, поэтому они null, когда вы пытаетесь Add значения для них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...