adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
C# - два вопроса по типам.
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ
Автор Сообщение
AlexRock
Гуру
СообщениеДобавлено: Пн 28-09-09 : 15-22    Заголовок сообщения: C# - два вопроса по типам. Ответить с цитатой

1.

Есть блок кода

Код:
switch(comboBox3.SelectedIndex)
            {
                case 0:
                    key = herbicide.Price;
                    break;
            }

, где в "herbicide.Price" "Price" - это поле для типа "Herbicides", которое я использую через экземпляр "herbicide". Чтобы использовать такой код, мне пришлось раньше создать этот экземляр:
Код:
Herbicides herbicide = new Herbicides();

Как сделать так, чтобы можно было указать на поле "Price" без создания экземпляра типа "Herbicides"? IntellySense показывает только пару функций после точки, т. е. никак до полей указанного типа не добраться без создания экземпляра этого типа:




// Остался только один вопрос.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
BuXTeR
Продвинутый форумчанин
СообщениеДобавлено: Вт 29-09-09 : 06-33    Заголовок сообщения: Ответить с цитатой

Поле Price нужно объявить как static. Тогда можно будет обращаться к нему без создания экземпляра, т.к. поле будет принадлежать непосредственно классу (соответственно, будет общим для всех экземпляров класса Herbicides)
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
AlexRock
Гуру
СообщениеДобавлено: Вт 29-09-09 : 08-39    Заголовок сообщения: Ответить с цитатой

BuXTeR
Но мне в то же время нужно, чтобы Price было уникальным для каждого гербицида (ведь цена у каждого своя). Мне нужно было просто как-то указать, что key указывает вообще на поля Price любого экземпляра класса Herbicides.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Serge
Форумчанин
СообщениеДобавлено: Вт 29-09-09 : 09-27    Заголовок сообщения: Ответить с цитатой

AlexRock писал(а):
BuXTeR
key указывает вообще на поля Price любого экземпляра класса Herbicides.


Это даже представить не возможно - как можно указывать одновременно на несколько уникальных полей...
тогда уж нужно указывать на список всех созданых объектов

Либо поле должно быть статическим
key = Herbicides.Price;
либо
key = new Herbicides().Price;
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
AlexRock
Гуру
СообщениеДобавлено: Вт 29-09-09 : 11-41    Заголовок сообщения: Ответить с цитатой

Понятно.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
AlexRock
Гуру
СообщениеДобавлено: Вт 29-09-09 : 22-52    Заголовок сообщения: Ответить с цитатой

Не буду делать новую тему, ибо у меня хоть и немного другая проблема, но с той же программой в том же месте. Вобщем, вот код и генерируемое исключение после третьей точки останова (когда идёт перечисление foreach'ем и показ месидж бокса):



Перечисление идёт максимум по четырём элементам (у меня там просто нет больше - в предыдущих строках было получено пересечение множеств из четырёх и шести элементов, которое дало четыре элемента), после перечисления обработка события заканчивается (там дальше до конца функции всё закомментировано). ЧТО может вызвать переполение стека вызова функций?! Shocked
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
AlexRock
Гуру
СообщениеДобавлено: Чт 1-10-09 : 14-31    Заголовок сообщения: Ответить с цитатой

Всё, обошёл эту штуку - решил другим путём. ))

...Но всё равно интересно, из-за чего там может быть это переполнение стека?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ Часовой пояс: GMT + 7
Страница 1 из 1

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы