Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Переписать объявление массива с VB на C# https://www.cyberforum.ru/ csharp-beginners/ thread2226103.html
Добрый день! Перехожу с Бейсика на С#. Подскажите как написать строчку на С# которая соответствует строке на Бейсике. Dim Array as Object =Nothing
C# Ввод чисел через пробел
Здравствуйте, подскажите пожалуйста, как вводить числа в одну строку через пробел,а потом посчитать их сумму
C# Создание экземпляра класса из текстовой строки Доброго времени суток, появилась проблема, подскажите, как решается. Допустим есть строка, которая принимает значение какого-то, неизвестного реализованного класса (ValueRole). Нашел на StackOverflow... https://www.cyberforum.ru/ csharp-beginners/ thread2226052.html C# Как вывести одинаковые значения элементов в зубчатом массиве? https://www.cyberforum.ru/ csharp-beginners/ thread2226013.html
Например, создан массив массивов. Кол-во массивов вводит пользователь.кол-во элементов им присвоено рандомно (5-20),значения тоже(0-500).Как вывести на консоль те значения,которые совпали хотя бы в...
C# Переменные, объявленные в одном файле проекта, не видны в другом
Здравствуйте. Рабтаю над проектом Windows приложения. Код из первого файла: namespace MyApplication { public partial class MainForm : Form { public static int i = 0; ...
C# Error CS5001: Program does not contain a static 'Main' method suitable for an entry point https://www.cyberforum.ru/ csharp-beginners/ thread2226011.html
Добрый вечер, господа, нужна помощь! 1) Код не компилируется вообще, поправьте меня, где я ошибся :( 2) Можно ли как-то Сonsole.WriteLine убрать в отдельный класс что-ли? using System; using...
C# Работа с классом https://www.cyberforum.ru/ csharp-beginners/ thread2225987.html
Ребята подскажите как правильно исправить ошибку что бы компилировался код public class Begin { public void Print() { ...
Правильное завершение BeginReciveFrom() UdpClient C#
У меня есть класс содержащий поле UdpClient. В CallBack методе пере вызывается метод StartRecive(). Это сделано для получения определенного количества отправленных пакетов. Все замечательно...
C# Перенос рваного массива в другой рваный массив Нужно в задании. Удалить из рваного массива все строки в которых есть хотя бы два нуля. Размер нового массива определил, но возникли трудности при переносе в новый массив. Код функций, который нужны... https://www.cyberforum.ru/ csharp-beginners/ thread2225884.html C# Оформление событий в коде За неимением реального опыта разработки, обращаюсь к уже работающим программистам. Подскажите как лучше организовывать подписку на событие в коде рабочего проекта? Во всех примерах которые я нашел... https://www.cyberforum.ru/ csharp-beginners/ thread2225846.html
C# Управление памятью в Windows
Разработать приложение, которое предоставляет пользователю возможность управлять памятью в Windows, получать системную информацию о состоянии физической и виртуальной памяти, а также управлять...
C# Дополнить класс статическим полем Count для подсчёта количества созданных экземпляров класса Дополнить класс статическим полем Count для подсчёта количества созданных экземпляров класса https://www.cyberforum.ru/ csharp-beginners/ thread2225816.html
0 / 0 / 1
Регистрация: 15.01.2018
Сообщений: 30
0

Ошибка во время инициализации полей класса - C# - Ответ 12293310

09.04.2018, 21:27. Показов 597. Ответов 2
Метки (Все метки)

Здравствуйте.
Имеется класс:
C#
1
2
3
4
5
6
7
8
9
10
11
namespace MyApplication
{
    public class Engineer: WhiteCollarWorker
    {
        public int YearExperience{get; set;}
        
        public override string InformationOutput(Person obj)
        {
            return base.InformationOutput(obj)+"Experience — "+YearExperience+" year(s)\n";
        }
}
Он наследует от двух других классов:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace MyApplication
{
    public abstract class Person
    {
        public string Name{get; set;}
        public string Surname{get; set;}
        public int Age{get; set;}
        
        public virtual string InformationOutput(Person obj)
        {
            string info="Some personal information \n_________________________\n\n"+
                "Full name — "+Name+" "+Surname+
                "\nAge — "+Age+" years\n";
            return info;
        }   
    }
}
и
C#
1
2
3
4
5
6
7
8
9
10
11
12
namespace MyApplication
{
    public class WhiteCollarWorker: Person
    {
        public string Occupation{get; set;}
        
        public override string InformationOutput(Person obj)
        {
            return base.InformationOutput(obj)+"Occupation — "+Occupation+"\n";
        }
    }
}
Через Label хочу вывести информацию на экран с помощью метода InformationOutput. До этого информация должна быть введена в TextBox-ы. Вот как выглядит этот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
namespace MyApplication
{
    public partial class MainForm : Form
    {
        public int i = 0;
        public Engineer[] engineer = new Engineer[100];
        
        public MainForm()
        {
            InitializeComponent();
        }
        
        void BtnAddEngineerClick(object sender, EventArgs e)
        {
            engineer [i] = new Engineer();
            engineer [i].Name = textboxName.Text;
            engineer [i].Surname = textboxSurname.Text;
            engineer [i].Age = int.Parse(textboxAge.Text);
            engineer [i].Occupation = textboxOccupation.Text;
            engineer [i].YearExperience = int.Parse(textboxExperience.Text);
            i++;
            ShowMessageForm inst=new ShowMessageForm();
            inst.Show();
            textboxName.Clear();
            textboxSurname.Clear();
            textboxAge.Clear();
            textboxOccupation.Clear();
            textboxExperience.Clear();
        }
        
        void BtnShowAllInformationClick(object sender, EventArgs e)
        {
            if (i==0)
                lblAllInfo.Text="There is no input information.";
            else
                for (int j=0; j<i; j++)
            {
                lblAllInfo.Text = engineer[i].InformationOutput(engineer[i]);
            }
        }           
    }
}
Но когда я нажимаю на кнопку для вывода информации образовывается ошибка System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.

Что я делаю не так? Помогите, пожалуйста.

Вернуться к обсуждению:
Ошибка во время инициализации полей класса C#
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2018, 21:27
Готовые ответы и решения:

Ошибка при инициализации полей класса
Помогите найти ошибку. Делаю игру 21. Инициализирую массив классов значениями. Но вылетает ошибка....

Подскажите разницу инициализации полей класса
Какой смысл инициализировать константы класса через список инициализации, если я всё равно задаю...

Как реализовать конструктор с параметрами для инициализации полей класса?
Подскажите как реализовать конструктор с параметрами для инициализации полей класса.

Почему лучше инициализировать объекты класса во время инициализации конструктора?
Имеется класс Rnd: class Rnd { public: Rnd::Rnd(int x); private: int val; };

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2018, 21:27

Ошибка во время инициализации элементов объекта
Здравствуйте. В программе я создаю несколько классов с наследованием. Во время выполнения метода...

Инициализация полей во время объявления класса
Инициализировать поля класса во время его объявления возможно только если в классе отсутствует...

Синтаксическая ошибка при инициализации класса
Ругается на инициализацию списком struct Cord { int x=0, y=0, z=0; }; class Point {...

Ошибка при инициализации элемента класса
Добрый день, Нужна помощь более опытных форумчан, в поиске ошибки. Есть фрагмент кода: ...

Ошибка инициализации объекта, конструктором класса
Добрый день. Написал программу. Создание класса (упражнение из книги Дейтеля) &quot;Создайте класс...

Напишите конструктор для инициализации объекта класса Time, который может использовать текущее время, возвращаемое функцией time ().
Помогите пожалуйста написать программу на С++. Просто скоро курсовую сдавать, а классы мы еще не...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru