1

私はこのコードを持っています:

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

3 行目で、コンパイラはオブジェクトproxyが存在しないことを通知します。

1行上に作成したときにどうして存在しないのでしょうか?


編集:

これは役に立たないと思いますが、ここにコンパイラエラーがあります(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 に答える