Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 19.08.2013
Сообщений: 71
1

Требуется ссылка на объект

05.09.2013, 17:47. Показов 1499. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть 2 класса, соответственно переменные в них, 1 из них статичная.
Далее с помощью метода требуется совершить просто действие. Но метод жалуется на нестатичность 2-ой переменной. Как можно исправить это не делая переменную статичной?
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class class1
{
public static int a = 30;
}
 
public class class2
{
public int b;
}
 
static void Main(string[] args)
{
class1 d = new class1 {b = 5};
}
 
static void c()
{
a = class1.a - class2.b;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2013, 17:47
Ответы с готовыми решениями:

Требуется ссылка на объект
Привет, не понимаю, в чем проблема. *** CopyAll(dir_from, dir_to); // тут ZipDir(dir_to,...

требуется ссылка на объект
Есть несколько файлов с кодами .cs у них одно namespace но разные классы. Мне нужно в один из них...

Требуется ссылка на объект
Здравствуйте, скажите, пожалуйста, как сделать так чтобы переменная n работала внутри методов Main...

Требуется ссылка на объект
class studen { protected string name{get; set;} protected int vik {...

8
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
05.09.2013, 17:58 2
Цитата Сообщение от GONGOTA Посмотреть сообщение
class1 d = new class1 {b = 5};
где в class1 объявлена переменная b?
Цитата Сообщение от GONGOTA Посмотреть сообщение
a = class1.a - class2.b;
Что это? Если хотите использовать переменную b класса class2 - создайте сперва экземпляр класса class2.
0
0 / 0 / 1
Регистрация: 19.08.2013
Сообщений: 71
05.09.2013, 18:01  [ТС] 3
Цитата Сообщение от Smems Посмотреть сообщение
где в class1 объявлена переменная b?
Извиняюсь, перепутал классы.
0
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
05.09.2013, 18:07 4
GONGOTA, честно говоря, ничерта не понимаю, что этот код должен делать, но думаю, что исходя из искомого должно быть как-то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class class1
        {
            public static int a = 30;
        }
 
        public class class2
        {
            public int b;
        }
 
        private static void Main(string[] args)
        {
            class1.a = 5;
        }
 
        private static void c()
        {
            class2 cl2 = new class2 {b = 1};
            class1.a = class1.a - cl2.b;
        }
0
1471 / 928 / 452
Регистрация: 06.02.2012
Сообщений: 2,846
05.09.2013, 18:36 5
Цитата Сообщение от Smems Посмотреть сообщение
честно говоря, ничерта не понимаю, что этот код должен делать
Странно, зачем тогда вам это все надо?
Если посмотреть на код, то можно сказать одно, Сначала в class1 присвоили переменной а= значение(30), class2 имеет переменную в= без значение. Далее вы вызываете class1 и присваиваете переменной а= значение(5)/
Затем вы создали метод под названием с, в теле метода прописали что class2 присваивается переменной в=значение(1), и class1.a= присваиваете значение class1.a - cl2.b. Результат будет 3.
0
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
05.09.2013, 20:26 6
В чем проблема, все работает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
namespace ConsoleApplication52
{
    class Program
    {
        public class class1
        {
            public static int a = 30;
        }
 
        public class class2
        {
            public int b;
        }
 
     
 
        private static void c()
        {
            class2 cl2 = new class2 { b = 1 };
            class1.a = class1.a - cl2.b;
            Console.Write(class1.a);
        }
        static void Main(string[] args)
        {
            class1.a = 5;
            c();
            Console.ReadKey();
 
        }
    }
}
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.09.2013, 21:46 7
Цитата Сообщение от GONGOTA Посмотреть сообщение
Но метод жалуется на нестатичность 2-ой переменной. Как можно исправить это не делая переменную статичной?
перефразируем "как можно исправить нестатичнсть 2-ой переменной, не делая её статичной?"
По-моему сказана глупость.
0
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
06.09.2013, 11:00 8
Kazbek17, Кэп, ты?
1
1471 / 928 / 452
Регистрация: 06.02.2012
Сообщений: 2,846
11.09.2013, 18:29 9
Цитата Сообщение от Smems Посмотреть сообщение
Kazbek17, Кэп, ты?
К чему это вы сказали?
0
11.09.2013, 18:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2013, 18:29
Помогаю со студенческими работами здесь

Static требуется ссылка на объект
Добрый вечер. Такая проблема: private ArrayList arrStrLink = new ArrayList(); ...

Для нестатического метода требуется ссылка на объект
Доброго времени суток! Помогите с решением: class Program { private int a; ...

Для нестатического метода требуется ссылка на объект
Задан массив 5 на 5 из шифрованной строки, расшифровать можно перестановкой столбцов матрицы....

Требуется ссылка на объект для нестатического поля
Добрый день форумчане) есть два вот таких куска кода: using System; using...

Требуется ссылка на объект не могу понять где ее взять
static void Main(string args) { int i = 0; i += Increment (ref...

Для нестатического поля, метода требуется ссылка на объект
Делаю программу, выдало ошибку. Скажите как исправить Ошибка следующая Для нестатического поля,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru