Автор |
Сообщение |
AlexRock Гуру |
|
1.
Есть блок кода
Код: |
switch(comboBox3.SelectedIndex)
{
case 0:
key = herbicide.Price;
break;
} |
, где в "herbicide.Price" "Price" - это поле для типа "Herbicides", которое я использую через экземпляр "herbicide". Чтобы использовать такой код, мне пришлось раньше создать этот экземляр:
Код: |
Herbicides herbicide = new Herbicides(); |
Как сделать так, чтобы можно было указать на поле "Price" без создания экземпляра типа "Herbicides"? IntellySense показывает только пару функций после точки, т. е. никак до полей указанного типа не добраться без создания экземпляра этого типа:
// Остался только один вопрос. |
|
|
|
|
BuXTeR Продвинутый форумчанин |
|
Поле Price нужно объявить как static. Тогда можно будет обращаться к нему без создания экземпляра, т.к. поле будет принадлежать непосредственно классу (соответственно, будет общим для всех экземпляров класса Herbicides) |
|
|
|
|
AlexRock Гуру |
|
BuXTeR
Но мне в то же время нужно, чтобы Price было уникальным для каждого гербицида (ведь цена у каждого своя). Мне нужно было просто как-то указать, что key указывает вообще на поля Price любого экземпляра класса Herbicides. |
|
|
|
|
Serge Форумчанин |
|
AlexRock писал(а): |
BuXTeR
key указывает вообще на поля Price любого экземпляра класса Herbicides. |
Это даже представить не возможно - как можно указывать одновременно на несколько уникальных полей...
тогда уж нужно указывать на список всех созданых объектов
Либо поле должно быть статическим
key = Herbicides.Price;
либо
key = new Herbicides().Price; |
|
|
|
|
AlexRock Гуру |
|
|
|
|
AlexRock Гуру |
|
Не буду делать новую тему, ибо у меня хоть и немного другая проблема, но с той же программой в том же месте. Вобщем, вот код и генерируемое исключение после третьей точки останова (когда идёт перечисление foreach'ем и показ месидж бокса):
Перечисление идёт максимум по четырём элементам (у меня там просто нет больше - в предыдущих строках было получено пересечение множеств из четырёх и шести элементов, которое дало четыре элемента), после перечисления обработка события заканчивается (там дальше до конца функции всё закомментировано). ЧТО может вызвать переполение стека вызова функций?! |
|
|
|
|
AlexRock Гуру |
|
Всё, обошёл эту штуку - решил другим путём. ))
...Но всё равно интересно, из-за чего там может быть это переполнение стека? |
|
|
|
|
|