Переменная не существует в текущем контексте и недопустимые аргументы - PullRequest
0 голосов
/ 29 июля 2011

enter image description here

Я пытаюсь проверить текстовое поле. Я проверил несколько других текстовых полей, и они работают нормально. В этом есть ошибка. Мой код выглядит правильно для меня. Кто-то, пожалуйста, укажите на мою ошибку и скажите, почему Visual Studio 2010 выдает ошибку недопустимых аргументов и переменной не в текущем контексте:

Ответы [ 7 ]

3 голосов
/ 29 июля 2011

Вам нужно определить функцию string errorMsg; в addTextBox_Validating перед вызовом ValidAddress.

1 голос
/ 29 июля 2011

Вам необходимо передать строку в качестве второго параметра в ValidAddress. Попробуйте и добавьте

string errorMsg = null;

в качестве первой строки addTextBox_Validating ()

1 голос
/ 29 июля 2011

Узнайте, как использовать .

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

class OutExample
{
    static void Method(out int i)
    {
        i = 44;
    }
    static void Main()
    {
        int value;
        Method(out value);
        // value is now 44
    }
}
1 голос
/ 29 июля 2011

Вам необходимо определить переменную errorMsg, прежде чем использовать ее как выходной параметр.

string errorMsg;
0 голосов
/ 29 июля 2011

Насколько я вижу, errorMsg нигде не объявлен.

Попробуйте изменить addTextBox_Validating , добавив объявление для него

, например

var errorMsg = string.Empty;

if (!ValidAddress(...

Переменная out должна быть объявлена ​​в том контексте, в котором она используется.

чч
Алан.

0 голосов
/ 29 июля 2011

Где определено errorMsg? Похоже, что он отправляется в качестве параметра в ValidAddress, поэтому addTextBox_Validating, будучи совершенно другим методом, не имеет к нему доступа, так как errorMsg может существовать только в ValidAddress. Короче говоря, вы не инициализировали свою переменную.

0 голосов
/ 29 июля 2011

Вы не объявили строку errorMsg.

private void addTextBox_Validating (object sender, CancelEventArgs e)
{
    string errorMsg = "";
    ...etc

}

В ValidAddress строка errorMsg передается в функцию в качестве параметра, поэтому эта проблема не возникает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...