1 / 1 / 1
Регистрация: 03.04.2012
Сообщений: 99
1

Создание объекта

06.10.2013, 11:32. Показов 1326. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу создать просто объект
код такой
C#
1
2
3
4
5
6
7
8
9
10
11
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
class Test
{
    Test test1;
    test1=new Test();
}
ошибка такая Invalid token '=' in class, struct, or interface member declaration.
и такая 'Test.test1' is a 'field' but is used like a 'type'.
не могу разобраться что к чему
0
Лучшие ответы (1)
06.10.2013, 11:32
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2013, 11:32
Ответы с готовыми решениями:

Создание объекта зная тип другого объекта
К примеру, у меня есть абстрактный класс Abs, от которого унаследован класс Class1 У меня есть объект obj с типом Class1. Как имея...

Создание объекта
Господа, скажите пожалуйста, вот я делаю например, два класса, один с Main() другой без. В том который без, я создаю объект. Но когда я...

Программное создание объекта
Нужно программно создать объект типа textbox. int i=0; TextBox tx; void MainForm_MouseClick(object sender, MouseEventArgs e) {...

12
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
06.10.2013, 11:43 2
Инициализировать поле в классе вне метода/конструктора можно при объявлении:
C#
1
2
3
4
class Test
{
   Test test1 = new Test();
}
0
1 / 1 / 1
Регистрация: 03.04.2012
Сообщений: 99
06.10.2013, 11:58  [ТС] 3
А почему не могу как я?
0
 Аватар для Закревский
184 / 184 / 29
Регистрация: 14.04.2013
Сообщений: 499
06.10.2013, 12:00 4
Цитата Сообщение от MishaMoix Посмотреть сообщение
и такая 'Test.test1' is a 'field' but is used like a 'type'.
сделайте так:
C#
1
Test test=new Test();
Исходя из ошибки в этом классе есть поле test1
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
06.10.2013, 12:08 5
Цитата Сообщение от Закревский Посмотреть сообщение
Исходя из ошибки в этом классе есть поле test1
Цитата Сообщение от MishaMoix Посмотреть сообщение
Test test1;
* * test1=new Test();
да ну?
ошибка не из-за того, что оно есть, а из-за того, что при попытке инциализировать поле test1 во второй строке, компилятор воспринимает это поле как тип
ваш кэп
1
1 / 1 / 1
Регистрация: 03.04.2012
Сообщений: 99
06.10.2013, 12:15  [ТС] 6
Вот именно у меня нет поля test1
абсолютно весь код я написал
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
06.10.2013, 13:05 7
MishaMoix, потому что поля могут инициализироваться только в конструкторе или методах, а не где попало.
1
Эксперт .NET
 Аватар для kolorotur
17798 / 12949 / 3381
Регистрация: 17.09.2011
Сообщений: 21,236
06.10.2013, 13:12 8
Цитата Сообщение от Psilon Посмотреть сообщение
поля могут инициализироваться только в конструкторе или методах
Или при объявлении.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
06.10.2013, 13:13 9
kolorotur, в этом случае неявно генерируется конструктор...
0
Эксперт .NET
 Аватар для kolorotur
17798 / 12949 / 3381
Регистрация: 17.09.2011
Сообщений: 21,236
06.10.2013, 13:16 10
Цитата Сообщение от Psilon Посмотреть сообщение
в этом случае неявно генерируется конструктор...
Не совсем.
Другой порядок вызова, в том числе по иерархии.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
06.10.2013, 13:24 11
kolorotur, насколько я понимаю, генерируются конструктор по-умолчанию, в котором все это инициализируется, а все пользовательские конструкторы сначала вызывают конструктор по-умолчанию, а потом делают что хотят...
0
Эксперт .NET
 Аватар для kolorotur
17798 / 12949 / 3381
Регистрация: 17.09.2011
Сообщений: 21,236
06.10.2013, 13:28 12
Лучший ответ Сообщение было отмечено как решение

Решение

Psilon, опять же, не совсем
Порядок инициализации объекта:
1. Инициализация полей объекта
2. Инициализация родительских полей снизу вверх по иерархии.
3. Отработка родительских конструкторов сверху вниз по иерархии.
4. Отработка конструктора объекта

То есть инициализация полей объекта производится еще даже до того, как начнут отрабатывать конструкторы родителей, не говоря уже о собственном конструкторе.
4
Master of Orion
Эксперт .NET
 Аватар для Psilon
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
06.10.2013, 14:19 13
kolorotur, нихрена себе Спасибо. Щас проверил, действительно:
Child field initializer
Parent field initializer
Parent Constructor
Child Constructor
Для продолжения нажмите любую клавишу . . .
0
06.10.2013, 14:19
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.10.2013, 14:19
Помогаю со студенческими работами здесь

Создание ActiveX объекта
Доброго времени суток. Не знаю как назвать тему, потому так. В общем есть activex объект для scada системы. В basic.net с ним работать...

Создание объекта класса
Начал изучать C# и в самом начале наткнулся на то, что в книгах синтаксис объявления объекта такой: class Animal { Animal...

Создание объекта типа T
Доброго времени суток, уважаемые форумчане. У меня в приложении выполняется одно действие два раза, но с разными объектами. Вот...

Создание объекта с многоуровневым вложением
!Сорри за столь нубский вопрос.! Возникла необходимость создать сложный объект. Объект больше походит на дерево. Объект...

Создание объекта динамического типа
Если метод может принимать объекты разных классов, а потом необходимо создавать объекты класса, которые не известны до компиляции, то как...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
Laravel или Symfony: что лучше для старта?
Wired 18.02.2025
В веб-разработке выбор правильного фреймворка может стать определяющим фактором успеха проекта. Особенно это актуально для PHP - одного из самых распространенных языков программирования, где Laravel. . .
Что нового в Laravel 12
Wired 18.02.2025
С момента своего появления в 2011 году Laravel постоянно развивается, внедряя инновационные решения и совершенствуя существующие возможности. В начале 2025 года ожидается выход Laravel 12 - новой. . .
Роутер в Laravel: как работать с маршрутами
Wired 18.02.2025
Маршрутизация - один из основополагающих элементов любого веб-приложения на Laravel, определяющий как приложение отвечает на HTTP-запросы к различным URL-адресам. По сути, роутинг - это механизм. . .
Интеграция шаблона Bootstrap в Laravel PHP
Wired 18.02.2025
Разработка веб-приложений в современном мире требует не только надежного бэкенда, но и привлекательного, отзывчивого интерфейса. Laravel, как один из самых популярных PHP-фреймворков, отлично. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru