http://www.atmarkit.co.jp/fdotnet/special/generics01/generics01_02.html