Мне нужен объект, который делает экземпляры других объектов. Я хочу, способность проходить в классе объектов создается, но все они должны иметь тот же тип, и было бы здорово, если бы они все могли бы начать с теми же значениями:Dynamic Instantiate in Dart
class Cloner{
BaseType prototype;
BaseType getAnother(){
BaseType newthing = prototype.clone(); //but there's no clone() in Dart
newthing.callsomeBaseTypeMethod();
return newthing;
}
}
Итак, прототип может быть установлен для любого объекта, который имеет тип BaseClass, даже если это то, чей класс является подклассом BaseClass. Я уверен, что есть способ сделать это с помощью библиотеки зеркал, но я просто хотел убедиться, что я не пропущу какой-то очевидный встроенный заводский способ сделать это.
Я мог видеть, как это можно настроить с помощью общего: Cloner<T>
, но тогда мы не можем гарантировать, что T является подтипом BaseType во время компиляции, правильно?
О, круто! Я знал, что эти типефы пригодится рано или поздно. Благодаря! – pseudopeach
Возможно, есть другие способы сделать это. Надеюсь, что это работает для вас. –