1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||
1 | ||||||
Ошибка при описании структуры (Объект this не может использоваться до присваивания значений)25.08.2012, 23:34. Показов 6306. Ответов 10
Метки нет (Все метки)
Что-то я не понял чего это студии мой конструктор не нравится:
1)Объект this не может использоваться до присваивания значений всем его полям 2)Резервное поле для автоматически реализуемого свойства "ConsoleApplication.CountInfo.symbol" должно быть полностью назначено до возврата вызывающему объекту элемента управления. Попробуйте вызвать конструктор из инициализатора конструктора. Что-то я не понял чего ему не нравиться? Вроде как хочет чтобы вызывался стандартый конструктор структур, но ведь раз я не указывал другого поведения то он и так должен вызываться. Чего не так-то? Добавлено через 1 минуту *Если сделать как класс то всё собирается, значит я что-то не знаю о работе с конструктором у структур, подскажите пожалуйста что именно я упустил.
0
|
25.08.2012, 23:34 | |
Ответы с готовыми решениями:
10
Объект COM, который был отделен от своего базового RCW, использоваться не может Ошибка "В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, ..." Ошибка CS0201: "В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, ..." Ошибка в описании структуры |
54 / 53 / 5
Регистрация: 14.08.2012
Сообщений: 252
|
||||||
26.08.2012, 00:56 | 2 | |||||
Попробуйте сделать так:
0
|
637 / 498 / 77
Регистрация: 28.07.2010
Сообщений: 895
|
||||||
26.08.2012, 01:06 | 3 | |||||
Сообщение было отмечено как решение
Решение
сам когда-то долго с этим парился, а потом заглянул на МСДН:
5
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
||||||
26.08.2012, 01:06 | 4 | |||||
Gepar, вызов конструктора по умолчанию решит ребус:
2
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
26.08.2012, 02:17 | 5 |
Нет.У меня все работало и без дефаултного конструктора.
мне кажется(я могу ошибаться),но нельзя делать поля наполовину открытыми. придется описать либо полностью закрытый либо назначить какое-то дефоултное значение при set. Ребята предлагают вызывать дефалт что б перед этим он проиницилизыровал поля структуры. а тут на какую строчку жалуется?
0
|
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
26.08.2012, 02:19 [ТС] | 6 |
Я почему-то считал что он и сам в данном случае вызывается ...
Добавлено через 1 минуту Это только кажеться Нужно лишь чтобы само поле объявлялось как public и вполне можно потом делать set/ get с доступом private.
0
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
26.08.2012, 03:28 | 8 |
ребята,я к тому,свойства в структурах не так как с классами работают.
Если бы вы не использовали автоматические свойства проблема бы решилась без вызова станд.конструктора,так как изначально появились непроинициализированные(страшное слово) переменные. Я к тому,что может и не надо закрывать поля?
1
|
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
27.08.2012, 11:39 [ТС] | 10 |
Проверил - и правда, если не использоваться автом. свойства то вызов конструктора по умолчанию не нужен.
0
|
Master of Orion
|
|
27.08.2012, 14:57 | 11 |
Gepar, можно вместо автосвойства просто сделать классическое свойство {get поле;} а в конструкторе вызывать явно это самое поле
ну не знаю, для структур обычно всегда вызывают
0
|
27.08.2012, 14:57 | |
27.08.2012, 14:57 | |
Помогаю со студенческими работами здесь
11
ОШИБКА - Эта функция здесь не может использоваться Использование вектора для присваивания значений элементам структуры при вызове конструктора присваивания надо возвращать ссыль на объект или сам объект. Смысл? Значения нужных полей меняютмся и без этого! Ошибка. Имя ресурса не может использоваться несколько раз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |