最も簡単なメソッドは、引数も戻り値もとらないメソッドです。
void メソッド名() { ... }クラスの中で定義するには、これにアクセス修飾子(private, public, protectedなど)がつきます。また、静的なメソッドにはstaticキーワードをつけます。呼び出し型はフィールドと同じです。
オブジェクト名.メソッド名();//(インスタンスメソッドの場合) クラス名.メソッド名();//(静的メソッドの場合)では、簡単な例を見てみましょう。
// method01.cs using System; class MyClass { public void Show() { Console.WriteLine("Showメソッドが呼ばれました"); } } class method01 { public static void Main() { MyClass mc = new MyClass(); mc.Show(); } }MyClassクラスのメンバは、インスタンスメソッドのShowメソッドのみです。インスタンスメンバなので呼び出すには、クラスのインスタンスを生成しなくてはいけません。
Mainメソッドでは、new演算子によりMyClassクラスのインスタンスmcを生成しています。そして、mc.Show();でShowメソッドを呼び出しています。
実行結果は次のようになります。
今度は、Showメソッドをpublicにして呼び出してみましょう。
// method02.cs using System; class MyClass { public static void Show() { Console.WriteLine("Showメソッドが呼ばれました"); } } class method02 { public static void Main() { MyClass.Show(); } }staticなメンバは、クラス名.メンバ名で呼び出せるので、MyClass.Show()で呼び出しを行っています。
実行結果は次のようになります。
Mainメソッドのあるクラスにも、当然メソッドを追加することができます。
// method03.cs using System; class method03 { public static void Main() { method03 m3 = new method03(); m3.Show1(); Show2(); } void Show1() { Console.WriteLine("Show1が呼び出されました"); } static void Show2() { Console.WriteLine("Show2が呼び出されました"); } }Show2メソッドは、自分自身のクラスにいるので、単にShow2();で呼び出すことができます。もちろんmethod03.Show2();としてもかまいません。
実行結果は次のようになります。
Update 27/Aug/2006 By Y.Kumei