using UnityEngine;
public abstract class Animal
{
public abstract void Walk(int step);
}
public class Dog : Animal
{
public override void Walk(int step)
{
Debug.Log(string.Format("Dog Walk {0} step", step));
}
}
public class Bird : Animal
{
public override void Walk(int step)
{
Debug.Log(string.Format("Bird Walk {0} step", step));
}
}
public class TestClass
{
public void DoWalk<T>(int step) where T : Animal, new()
{
var t = new T();
t.Walk(step);
}
public static void DoWalk2<T>(int step) where T : Animal, new()
{
var t = new T();
t.Walk(step);
}
}
public class GenericMethodTest : MonoBe