С# Элемент Matrix не существует в данном контексте

Тема в разделе ".NET", создана пользователем borisblade, 3 мар 2010.

Статус темы:
Закрыта.
  1. borisblade

    borisblade Гость

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

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

    if (matrix[sen, i]>0) ... //ее вызов в теле метода
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Я правильно понимаю, что matrix - это локальная переменная в методе Main()? Если так, то из другого метода она не видна (читаем про области видимости полей и переменных) и ее в этот метод надо передавать параметром либо делать полем класса (того же, в котором объявлен нужный метод).
     
  3. borisblade

    borisblade Гость

    С этим разобрался - теперь новый вопрос:
    Имеется ЕДИНСТВЕННЫЙ объект первого класса. (сюда помещаю глобальные переменные)
    Необходимо в других классах работать с полями, свойствами и методами объекта первого класса. Но при объявлении второго класса среда естесственно не видит объектов первого класса - она тупо видит лишь сами классы без их полей.

    Код (Text):
        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;
    }
    }
    ...
    шо делать?

    ЗЫ Аргументы на вход методам не предлагать - методы работают с одними и теми же переменными - вызывать их с одними и теми же аргументами глупо.
     
  4. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Если несколько методов класса используют один и тот же объект, то его надо просто сделать полем этого класса.
    Что касается вашего кода, не понятно, где именно находятся строки:
    Код (Text):
    class1 object1_of_class1 = new class1;
    return class1.var1;
    return object1_of_class1 .var1;
     
Загрузка...
Похожие Темы - С# Элемент Matrix
  1. Sander
    Ответов:
    1
    Просмотров:
    507
  2. kipatilnik
    Ответов:
    1
    Просмотров:
    647
  3. olegvach
    Ответов:
    1
    Просмотров:
    1.074
  4. kobrin13
    Ответов:
    0
    Просмотров:
    1.000
  5. acs-nexus
    Ответов:
    0
    Просмотров:
    705
Статус темы:
Закрыта.

Поделиться этой страницей