5

C# プログラミング チュートリアルのアクセス修飾子を読んだ後、メソッドを定義するだけで、同じ名前空間のpublic別のメソッドから「見える」ようになるという結論に達しました。Form

ただし、実際には、これを実装しようとするたびに、同じ名前空間staticの他のものから参照できるようにメソッドを定義する必要もありました。Forms

私は何かを失っていますか?私は何か間違ったことをしていますか?

4

2 に答える 2

7

メソッドの場合public static、オブジェクトへの参照は必要ありません。メソッドは静的であり、レベルでアクセスできclassます。

public メソッドにアクセスできない場合は、オブジェクトへの参照が必要ですが、アクセスできます。

public class AClass
{
    public void DoSomething() {}
    public static void DoSomethingElse() {}
}

次のように使用できます。

AClass.DoSomethingElse(); // no object reference required
AClass.DoSomething(); // will give compiler error, since you have no object reference.
var anObject = new AClass();
anObject.DoSomething(); // will work fine.
anObject.DoSomethingElse(); // compile error (thx hvd).
于 2013-03-17T18:28:59.520 に答える
1

public staticメソッドはオブジェクトインスタンスを必要とせず、クラスのインスタンスを作成せずに使用できます

ClassName.MyStaticPublicMethodName()

(非静的) メソッドはpublicクラスのインスタンスを必要とするため、パブリック (非静的) メソッドは一般に、オブジェクトのデータ メンバー (フィールド) を操作するのに役立ちます。

非静的パブリック メソッドを使用するには、クラスのインスタンスを作成する必要があります

ClassName obj = new ClassName();
obj.MyPublicMethod();
于 2013-03-17T18:35:50.463 に答える