Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 39

Для нестатического поля, метода или свойства требуется ссылка на объект В каждом case при обращении к методу

30.03.2015, 12:08. Показов 2084. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В каждом case при обращении к методу выдает такую ошибку, если не сложно покажите как исправить
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace OOP
{
 
    class Hospital
    {
        class patient
        {
            string name; //имя
            string lastname; //фамилия
            string patronumic; // отчество
            Adress adress;//адресс
            Disease[] history;
            bool isStay;
 
            public patient(string _name, string _lastname, string _patronumic, Adress _adress) //конструктёр пациента
            {
                /* заносим данные в карточку*/
                name = _name;
                lastname = _lastname;
                patronumic = _patronumic;
                adress = _adress;
                isStay = true;
 
                history = new Disease[100]; // массив истории болезни пациента
            }
 
            public Adress Adress    // св-во Адрес
            {
                get { return adress; }  //только чтение
            }
 
            public string FIO //фио
            {
                get { return lastname + " " + name + " " + patronumic; } //только чтение
            }
 
            public bool IsStay    // стоит ли на учете больной
            {
                // чтение и запись
                get { return isStay; } // получение сведений об учете больного
                set { isStay = value; } //измемнение состояния учета
            }
 
            public void Visit(DateTime date, string diagnose) // обращение пациента в поликлиннику
            {
                Disease disease = new Disease(date, diagnose); // регистрируем болезнь
                history.SetValue(disease, history.Count()); // заносим в карточку
            }
        }
 
        string name; //наименование поликлинники
        List<patient> my = new List<patient>();
 
        internal struct Adress
        {
            private string street;  //улица
            private string city; // город
            private byte house;  // номер дома
            private byte flat;  //# кваритры
 
            public Adress(string _street, string _city, byte _house, byte _flat)//конструктор структуры адреса
            {
                street = _street;
                city = _city;
                house = _house;
                flat = _flat;
            }
        }
 
        private struct Disease
        {
            DateTime time;
            string diagnose;
 
            public Disease(DateTime _time, string _diagnose)
            {
                time = _time;
                diagnose = _diagnose;
            }
        }
 
 
        public void Hospital1()  // конструктор больницы
        {
            name = "Поликлинника №1";   // задаем имя поликлинники
        }
 
        public void AddPatient(string name, string lastname, string patronymic, Adress adress) // регистрация пациента в больнице
        {
 
            patient Patient = new patient(name, lastname, patronymic, adress); // создаем карточку нового больного
            my.Add(Patient);// ложим ее в архив
        }
 
        public void SetStay(int ID, bool isStay) // снятие/постановка больного на учет в больницу
        {
            if ((ID < 0) || (ID > my.Count())) // если нет такого пациента, то ничего не делаем
                return;
 
            my[ID].IsStay = isStay; // снятие/постановка
        }
 
        public void Visit(int ID, DateTime date, string diagnose) // обращение пациента в больницу
        {
            if ((ID < 0) || (ID > my.Count())) // если нет такого пациента, то ничего не делаем
                return;
 
            my[ID].Visit(date, diagnose);
        }
 
         public static void Main()
        {
            char a;
 
            {
                System.Console.Clear();
                System.Console.WriteLine("\tБольница \n");
                System.Console.WriteLine("1. Добавить пациента");
                System.Console.WriteLine("2. Вывести список пациентов");
                System.Console.WriteLine("3. Удалить Пациента");
                System.Console.WriteLine("4. Обращение пациента");
                System.Console.WriteLine("5. постановка/снятие пациента с учета");
                System.Console.WriteLine("\n0. выход");
 
                a = System.Console.ReadKey().KeyChar;
                switch (a)
                {
                    case '1':
                        {
                            System.Console.Clear();
                            System.Console.WriteLine("Введите имя: ");
                            string name = Console.ReadLine();
                            System.Console.WriteLine("Введите фамилию: ");
                            string lastname = Console.ReadLine();
                            System.Console.WriteLine("Введите отчество: ");
                            string patronymic = Console.ReadLine();
                            System.Console.WriteLine("Введите адрес: \n");
                            System.Console.WriteLine("город: ");
                            string _city = Console.ReadLine();
                            System.Console.WriteLine("Улица: ");
                            string _street = Console.ReadLine();
                            System.Console.WriteLine("Дом: ");
                            byte _house = byte.Parse(Console.ReadLine());
                            System.Console.WriteLine("Квартира: ");
                            byte _flat = byte.Parse(Console.ReadLine());
                            Adress adress = new Adress(_street, _city, _house, _flat);
 
                            AddPatient(name, lastname, patronymic, adress);
                            break;
                        }
                    case '2':
                        {
                            for (int i = 0; i < my.Count; i++)
                            {
                                System.Console.Clear();
                                System.Console.WriteLine("ID: " + i);
                                System.Console.WriteLine("FIO: " + my[i].FIO);
                                System.Console.WriteLine("Учет: " + my[i].IsStay);
 
                            }
                            System.Console.ReadKey();
                            break;
                        }
                    case '3':
                        {
                            System.Console.Clear();
                            System.Console.WriteLine("Напишите номер записи которую хотите удалить: ");
                            int i = int.Parse(System.Console.ReadLine());
                            my.RemoveAt(i);
                        }
                        break;
                    case '4':
                        {
                            System.Console.Clear();
                            System.Console.WriteLine("Введите номер пациента: ");
                            int i = int.Parse(System.Console.ReadLine());
                            System.Console.WriteLine("Введите диагноз: ");
                            string s = System.Console.ReadLine();
                            Visit(i, DateTime.Today, s);
                        }
                        break;
                    case '5':
                        {
                            System.Console.Clear();
                            System.Console.WriteLine("Введите номер пациента: ");
                            int i = int.Parse(System.Console.ReadLine());
                            my[i].IsStay = !my[i].IsStay;
 
                        }
                        break;
                }
            } while (a != '0') ;
 
           return ;
        }
 
 
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2015, 12:08
Ответы с готовыми решениями:

Для нестатического поля, метода или свойства требуется ссылка на объект
Для нестатического поля, метода или свойства требуется ссылка на объект static void Main(string args) { ...

Для нестатического поля, метода или свойства требуется ссылка на объект
Задание: Разработать метод f(x), который возвращает вторую справа цифру натурального числа x. Вычислить с его помощью значение выражения...

Для нестатического поля, метода или свойства требуется ссылка на объект
Здравствуйте, не могу решить проблемы в программе. Почти дописал парсер математических выражений на С# через построение AST. Визуалка...

4
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
30.03.2015, 12:11
Лучший ответ Сообщение было отмечено Trekq как решение

Решение

Trekq, сделайте статическими my,visit,AddPatient
Или создавайте экземпляры и работайте с ними
1
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 39
30.03.2015, 12:15  [ТС]
kypiwindy, а my где сделать статическим не подскажите?
0
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
30.03.2015, 12:21
Trekq,
C#
1
2
        string name; //наименование поликлинники
        static List<patient> my = new List<patient>();
1
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 39
30.03.2015, 12:23  [ТС]
kypiwindy, спасибо большое!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2015, 12:23
Помогаю со студенческими работами здесь

Для нестатического поля, метода или свойства требуется ссылка на объект
Всем доброго времени суток. Подскажите, пожалуйста, как исправить ошибку? Пробовал выносить методы get и put в отдельный класс, после...

Для нестатического поля, метода или свойства требуется ссылка на объект
Мне нужно передать массив в функцию, при передаче возникает ошибка( в мейне), в это же время при вызове функции в самой функции ошибки нет....

Для нестатического поля, метода или свойства требуется ссылка на объект
Имеется 2 формы, необходимо, чтобы при нажатии на кнопку на Форме№2 совершилось действие на Форме№1 (что-то вроде ссылки на метод). ...

Для нестатического поля, метода или свойства требуется ссылка на объект
public static void EndClient(Client client) { try { Client.end(); ...

Для нестатического поля, метода или свойства требуется ссылка на объект
Замучился уже. Кто может помочь? Есть 2 datagrid заполняемых динамически (по регистрации карточек в микрофонах) Нужно то всего лишь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru