P.G Wisgerhof
P.G Wisgerhof

Reputation: 762

C# - Variable does not exists in current context

I have a problem I can't seem to solve.

I created a class function called test and in the function I declared a variable. On the next line I fill the function with a string.

During debugging the variable does not get declared, my variable watcher in VS tells me that the variable does not exists in the current context.

Can you all help me solve this problem ?

Here is my code:

public void Test()
{
    string DirectoryPath;
    DirectoryPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.InternetCache);
}

Upvotes: 2

Views: 10624

Answers (2)

Jon Skeet
Jon Skeet

Reputation: 1499790

My guess is you're using a Release configuration - the optimizer may have removed the variable, as it's pointless other than for debugging. You assign it a value, but never read it. In a Debug configuration, I'd expect it to be fine (but possibly create a warning).

EDIT: Of course, this is assuming that you were in the Test() method that you couldn't see the variable. If Test() had already completed then Likurg's answer is probably more appropriate.

Upvotes: 14

Likurg
Likurg

Reputation: 2760

If i'm not mistake you want to do this

    public class MyTest
    {
        string DirectoryPath = "";
        public void Test()
        {
            DirectoryPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.InternetCache);
        }
        public void UseString()
        {
            //Use DirectoryPath
        }
    }

Upvotes: 0

Related Questions