Dart 0.07 では型パラメータからインスタンスを生成することは出来ません。(型変数に対してnew・constは使うことが出来ない。)
class hoge<T>
{
T create() => new T(); // new T()は出来ない。
}
class foo
{
foo() { print("foo!!"); }
}
main() {
final a = new hoge<foo>();
a.create();
}
その対処策としてこのようなものが紹介されていました。
class hoge<T>
{
hoge( this._creator );
T create() => _creator();
final _creator;
}
class foo
{
foo() { print("foo!!"); }
}
main() {
final a = new hoge<foo>( () => new foo() );
a.create();
}
https://groups.google.com/a/dartlang.org/group/misc/browse_thread/thread/1c9d23fcc8480be2#