0 / 0 / 1
Регистрация: 19.08.2013
Сообщений: 71
1

Инициализатор поля не может обращаться к нестатическому полю, методу или свойству

09.09.2013, 08:20. Показов 1676. Ответов 2
Метки нет (Все метки)

Ситуация такая, есть массив, нужно объявить его в том же массиве что и переменные в нем. Выдаёт указанную ошибку. Сделать статической переменную пробовал, но выводит другую ошибку при обращении к переменным вида a.variable
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class class1
{
public string variable;
public class1 a = new class1 {variable = "asd" //переменные};
public class1 b = new class1 {variable = "sda" //переменные};
public class1 c = new class1 {variable = "fds" //переменные};
public class1 d = new class1 {variable = "fda" //переменные};
public class1 e = new class1 {variable = "zxc //переменные};
class1[] f = {a, b, c, d, e};
}
public void void1()
{
class 1 a = new class1();
Console.WriteLine(a.a.variable);
Console.ReadKey();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2013, 08:20
Ответы с готовыми решениями:

Инициализатор поля не может обращаться к нестатическому полю
Привет всем! При инициализации нового поля в классе приходится обращаться к уже существующему...

Инициализатор поля не может обращаться к нестатическому полю
Код класса class massive { int m, n; public int M { ...

Инициализатор поля не может обращаться к нестатическому полю
Для инициализации некоторого редактора есть такая строчка Scintilla scintilla1 =...

Инициализатор поля не может обращаться к нестатическому полю
Ошибка 1 Инициализатор поля не может обращаться к нестатическому полю, методу или свойству...

2
Эксперт Java
4088 / 3822 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
09.09.2013, 08:40 2
Сделайте конструктор, и там инициализируйте массив там, так как вам нужно.
1
0 / 0 / 1
Регистрация: 19.08.2013
Сообщений: 71
10.09.2013, 15:53  [ТС] 3
Цитата Сообщение от turbanoff Посмотреть сообщение
Сделайте конструктор, и там инициализируйте массив там, так как вам нужно.
Спасибо, все работает. Но теперь возник ещё 1 вопрос как обратиться к этому массиву? При попытке обратиться через сам класс выводит: класс не содержит определения для массива и не был найден метод расширения для массива принимающий тип класса в качестве первого аргумента.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class class1
{
string a = "test"; string b = "asd";
 
public class1()
{
class1[] massive = {a, b};
}
}
public void asd()
{
class1 a = new class1();
place place = a.massive[new Random().Next(a.massive.Length)];
}


Добавлено через 21 час 18 минут
Цитата Сообщение от GONGOTA Посмотреть сообщение
Спасибо, все работает. Но теперь возник ещё 1 вопрос как обратиться к этому массиву? При попытке обратиться через сам класс выводит: класс не содержит определения для массива и не был найден метод расширения для массива принимающий тип класса в качестве первого аргумента.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class class1
{
string a = "test"; string b = "asd";
 
public class1()
{
class1[] massive = {a, b};
}
}
public void asd()
{
class1 a = new class1();
place place = a.massive[new Random().Next(a.massive.Length)];
}
Всё, разобрался сам, оказывается массив надо объявить в классе
public class1[] massive;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2013, 15:53
Помогаю со студенческими работами здесь

Инициализатор поля не может обращаться к нестатическому полю, методу или свойству
Народ, пишу прогу, которая строит график функции согласно формуле, но тут столкнулся с такой вот...

Error'2185'. Невозможно обратиться к свойству или методу элемента пока нет фокуса
Код Option Compare Database Dim s0 ' *** ФИЛЬТР *** Private Sub ФрмФлтрПоле_1_Change() ...

Error'2185'. Невозможно обратиться к свойству или методу элемента пока нет фокуса
Код Option Compare Database Dim s0 ' *** ФИЛЬТР *** Private Sub ФрмФлтрПоле_1_Change() ...

Как в цикле обращаться к полю той или иной таблицы
Ребят пишу СУБД для БД MySQL на VB6 В общем ума не приложу как мне в цикле обращаться к полю той...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru