形が決まっていない(不定形)関数の作り方とは?(ジェネリック メソッド) - 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"<>" などがある。
軽~く言うと、(<>)によって型を指定しているのがジェネリックメソッドである。
しかし、場合によってはジェネリックで使用できないものや、制限されているものもあるので注意!
また、ジェネリック側のパラメータを指定しないと、前か後に書かれた型を確定してしまうのでちゃんと見ること。
(同じ場合は、逆に省略する。)