namespace ネームスペース名
{
{
アクセス修飾子 戻り値の型 メソッド名(引数の型1 引数名1, 引数の型2 引数名2, ..... 引数の型n 引数名n)
{
//メソッドの実装
return 戻り値;
}
}
メソッド(関数)を定義する書式、コードを紹介します。
この記事ではクラスのメソッドを定義するコードと書式を紹介します。また、プログラム例でメソッドの呼び出し方法についても紹介します。
クラスについてはこちらの記事を参照してください。
関数とは、特定の処理をまとめて定義し、必要に応じて再利用できるプログラムの一部です。
関数は、任意のタイミングで呼び出すことができ、処理を実行します。
関数には、入力として引数(パラメーター)を受け取ることもできます。また、処理の結果を戻り値として返すこともできます。
パラメーターや戻りの無い関数もあります。
一般的にはクラス内に定義、実装されている関数を「メソッド」と呼びます。
戻り値を返さない関数のことを、「プロシージャー」と呼ぶことがあります。または「アクション」、と呼ばれることもあります。
アクションについてはこちらの記事も参考にしてください。
namespace ネームスペース名
{
上記の書式を利用します。
アクセス修飾子 戻り値の型 メソッド名(引数の型1 引数名1, 引数の型2 引数名2, ..... 引数の型n 引数名n)
の部分がメソッドの定義になります。
メソッドの戻り値はrerturn
キーワードを利用します。
アクセス修飾子には以下を記述可能です。
アクセス修飾子 | 意味 |
---|---|
public | どのクラスからでも呼び出せます。 |
protected | 定義した自身のクラス、または、自身のクラスから派生したクラスからのみ呼び出せます。 |
internal | 現在のアセンブリから呼び出せます。 |
private | 定義した自身のクラスからのみ呼び出せます。 |
protected internal | 現在のアセンブリから、または包含クラスから派生したクラスから呼び出せます。 |
private protected | 包含アセンブリ内で、包含クラスから派生したクラスから呼び出せます。 |
[メソッド名]();
[メソッド名](引数1, 引数2, ... ,引数n);
一つの引数を受け取り、int型の戻り値を返すメソッドの例です。
private int GetHeadIndex(int line)
{
for (int i = line - 1; i >= 1; i--) {
if (Lines[i].CRBreak == true) {
return i + 1;
}
}
return 0;
}
下図のUIを作成します。
下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ClassMethod
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int ret = add(12, 5);
textBox1.Text = ret.ToString();
}
private int add(int a, int b)
{
return a + b;
}
}
}
このプログラムではaddメソッドを定義しています。2つの引数を受け取り、引数の和を戻り値として返します。
button1をクリックすると、addメソッドを呼び出し、その戻り値をテキストボックスに表示します。
プロジェクトを実行します。下図のウィンドウが表示されます。
[button1]をクリックします。テキストボックスにaddメソッドに与えた引数の和が表示されます。メソッドが呼び出され戻り値が返っていることが確認できます。