形が決まっていない(不定形)関数の作り方とは?(ジェネリック メソッド) - TejimaTuyoshi/returnread GitHub Wiki

オーバーロードと比較されるもの。

だが、大きく分けると次のようなもの。

"オーバーロード" int x = OverloadPattern.Max(1, 2);

"ジェネリックメソッド" int p = GenericsMethodPattern.Max(1, 2);

と型を”数字の前に”入れている。 つまり、「最初は不定形で作り、後々型を付ける」ということ。

ただし、もっと楽なやり方は、

class OverloadPattern

{

public static int Max(int a, int b)

{

if (a >= b)

{

return a;

}

else

{

return b;

}

}

public static char Max(char a, char b)

{

if (a >= b)

{

return a;

}

else

{

return b;

}

}

}

[一例]

というように、 クラスにして使用する方法がある。

ちなみに、<>(ジェネリックの型パラメータ)である。(唐突)

これが使用されているものとして、

・GetComponent"<>"()

・List"<>" などがある。

軽~く言うと、(<>)によって型を指定しているのがジェネリックメソッドである。

しかし、場合によってはジェネリックで使用できないものや、制限されているものもあるので注意!

また、ジェネリック側のパラメータを指定しないと、前か後に書かれた型を確定してしまうのでちゃんと見ること。

(同じ場合は、逆に省略する。)

⚠️ **GitHub.com Fallback** ⚠️