別のブログで公開してたものです。
一部をこっちのブログに移行しようと手動で(^^;)移行したものです。

C#やJavaのジェネリクスと同じような感じです。

こんな感じ。

// 関数で使う
function a<T>(val:T):void {
	alert(typeof val);
}

a<number>(12);			// numberと表示
a<string>("hoge");		// stringと表示

// クラスで使う
class hoge<T> {
	private aaa:T;
	
	constructor(val:T) {
		this.aaa = val;
	}
	public show():void {
		alert(typeof this.aaa + ":" + this.aaa);
	}
}

var h1:hoge<number> = new hoge<number>(10);
h1.show();		// number:10と表示
var h2:hoge<string> = new hoge<string>("hoge");
h2.show();		// string:hogeと表示