Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2010, 00:56   #1
boris-blade
Пользователь
 
Регистрация: 18.12.2009
Сообщений: 53
По умолчанию С# Элемент а1 не существует в данном контексте

В теле метода пытаюсь работать с внешней переменной массива - выдает ошибку. Как быть?
Переменная и класс находятся в одном пространстве имен, правда в разных файлах (переменная к тому же запихнута в void Main() )

byte[,] matrix = new byte[5, 15]; //'это переменная

if (matrix[sen, i]>0) ... //ее вызов в теле метода
boris-blade вне форума Ответить с цитированием
Старый 03.03.2010, 00:57   #2
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

код в студию
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558
Arnezami вне форума Ответить с цитированием
Старый 03.03.2010, 01:57   #3
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

бред какой то... прочитай про видимость переменных

Пространнство имён не относиться к переменным! Чтобы переменная была видна из другого класса, нужно ей задать индификатор доступа public:

Код:
namespace MyNameSpace
{
   public class MyArray
   {
      public static byte[,] matrix = new byte[5, 15]; //'это переменная
   }

   //Это может быть в другом файла и даже в другом пространстве имён, только подключить его нужно будет через дерективу using
   
   public class MyProgram
  {

    void Main() 
   {
        MyArray.matrix ... //Будет виден
   }

  }

}

//Если класс один и тот же, но находиться в разных файлах нужно применить индификатор раздельности классов partial: (Файлы должны лежать в одной папке и находиться в одном пространстве имён)

public class MyArray
{

   public static byte[,] matrix = new byte[5, 15]; //'это переменная
}

//Другой файл

public partial class MyArray
{
     void Test()
     {
         matrix... //Будет виден
     }


}
И в следующий раз код сбрасывай полностью, а то сиди гадай как там у тебя...
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558
Arnezami вне форума Ответить с цитированием
Старый 03.03.2010, 01:58   #4
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

или через наследование
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558
Arnezami вне форума Ответить с цитированием
Старый 05.03.2010, 20:49   #5
boris-blade
Пользователь
 
Регистрация: 18.12.2009
Сообщений: 53
По умолчанию

ОК - ошибку понял.
Сформулирую другой вопрос из той же оперы.
Имеется ЕДИНСТВЕННЫЙ объект первого класса. (сюда помещаю глобальные переменные)
Необходимо в других классах работать с полями, свойствами и методами объекта первого класса. Но при объявлении второго класса среда естесственно не видит объектов первого класса - она тупо видит лишь сами классы без их полей.
Код:
	program.cs
...
class1 object1_of_class1 = new class1;
...
 
classes.cs
...
    class class1
    {
        public byte var1;
    }
  class class2
    {
        public byte method1()
{
//не работает это:
return class1.var1;
//не работает и это:
return object1_of_class1 .var1;
}
    }
...
шо делать?

ЗЫ Аргументы на вход методам не предлагать - методы работают с одними и теми же переменными - вызывать их с одними и теми же аргументами глупо.
boris-blade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выяснить, встречается ли в данном тексте группа букв one; hidalgo Фриланс 7 19.01.2010 10:57
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент Галина002 Помощь студентам 1 18.03.2009 06:30
Получить значение многочлена при данном x Aleksandr Паскаль, Turbo Pascal, PascalABC.NET 7 07.03.2008 18:54