结构中的部分或全部类型都可以先不进行定义,而是到调用的时候再去定义。
要说方法是逻辑上的复用,那么泛型就是结构上的复用
/// <summary>
/// 泛型的意思是结构中的部分或全部类型都可以先不定义,而是调用的时候再去定义
/// </summary>
/// <param name="values"></param>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static T GetRandomValueFrom<T>( T[] values)
{
var valueArray = values as Array;
return values[UnityEngine.Random.Range(0, valueArray.Length)];
}
#if UNITY_EDITOR
[MenuItem("test/从若干个值中随机取出一个值", false, 9)]
#endif
static void MenuClicked1()
{
//此处调用的时候可以定义int数组
var randomAge = GetRandomValueFrom(new int[]{1, 2, 3});
var randomAge1 = GetRandomValueFrom(new string[]{"1", "2", "3"});
Debug.Log(randomAge);
}