У меня есть несколько классов с отслеживанием состояния, таких как доход, расходы, дебет, события и т. Д. c, и каждый класс имеет свой собственный набор атрибутов (int, double, string). У меня есть другой класс, который я хочу разделить среди всех с отслеживанием состояния классы, потому что код похож. вместо кодирования другого класса для доходов, расходов и c для выполнения конкретной c задачи, я хотел бы создать один класс, который является общим для всех классов
вот частичный код для моего общего класса
class CheckBoxAlertDialog extends StatefulWidget {
CheckBoxAlertDialog({
Key key,
this.anyobjectype,
this.database
}) : super(key: key);
final T anyobjectype;
final AppDatabase database;
@override
CheckBoxAletDialogState createState() {
return new CheckBoxAletDialogState();
}
}
class CheckBoxAletDialogState extends State<CheckBoxAlertDialog> {
@override
Widget build(BuildContext context) {
If(anyobjectype is type income)
print(anyobjectype.amount) //assume income class has type double income
If(anyobjectype is type expense)
print(anyobjectype.paid_amount) //assume expense class has type double paid_amount
If(anyobjectype is type event)
print(anyobjectype.event_date) //assume event class has type date event_date
//and so on
}
}
Я хочу иметь возможность вызывать CheckBoxAlertDialog и передавать любой объект класса доходов, расходов, дебета, событий. например, я хочу иметь возможность вызывать как следующие
income = new income();
CheckBoxAlertDialog(anyobjectype : income, database: database,);
expense = new expense();
CheckBoxAlertDialog(anyobjectype : expense, database: database,);
debit = new debit();
CheckBoxAlertDialog(anyobjectype : debit, database: database,);
в основном, я хочу иметь возможность передавать любой объект класса в CheckBoxAlertDialog и иметь доступ к типам данных класса в классе CheckBoxAlertDialog. см. функцию сборки в CheckBoxAlertDialog Я слышал, что тип данных geneti c может помочь, но я новичок в этом. Может ли кто-нибудь показать мне, как я могу передать любой объект класса в CheckBoxAlertDialog и получить доступ к типам данных класса в CheckBoxAlertDialog, как в примере выше? заранее спасибо