1

我有这段代码:

    class SomeClass {
1       String PROXY="localhost:8080";
2       Proxy proxy=new Proxy();
3       proxy.setHttpProxy(PROXY);
        // ...

在第 3 行,编译器告诉我对象proxy不存在。

当我在上面一行创建它时,它怎么可能不存在?


编辑:

我认为这无济于事,但这是编译器错误(它指向第 3 行中的那个括号。):

类、结构或接口成员声明中的标记“)”无效

此外,ReSharper 将proxy(在第 3 行)突出显示为未找到的对象。

4

2 回答 2

8

语句必须进入一个方法。他们不能只是在一个类型的身体里。你说过这样的话:

class P
{
    Foo foo = whatever;
    foo.bar();
}

您可以将字段声明放在方法之外,但不能放在语句之外。您需要执行以下操作:

class P
{
    static void Main()
    {
        Foo foo = whatever;
        foo.bar();
    }
}

除了字段声明之外的所有可执行代码都必须放在 C# 中的方法中。

有道理?

于 2013-03-16T22:39:18.993 回答
0

信息很明确。你有一个额外的'('

当这种情况发生时,IDE 有时不会标记确切的行。

检查你的范围,也许它可能是一个小括号或额外的括号。

于 2013-03-16T22:40:23.627 回答