-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
typedef itemBuilder 제네릭 관련 질문이 있습니다.
23.02.04 22:59 작성 조회수 332
0
아래처럼 itemBuilder를 넣어봤는데요,
Widget build(BuildContext context) {
return PaginationListView(
provider: restaurantNotifierProvider, itemBuilder: itemBuilder<RestaurantModel>);
}
Widget itemBuilder<T extends IModelWithId>(BuildContext context, int index, T t) {
t as RestaurantModel;
return GestureDetector(
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (_) {
return RestaurantDetailScreen(
id: t.id,
);
},
),
);
},
child: RestaurantCard.fromModel(
restaurantModel: t,
),
);
}
}
아래와 같은 에러가 나옵니다
type '(BuildContext, int, RestaurantModel) => Widget' is not a subtype of type '(BuildContext, int, IModelWithId) => Widget'
근데, RestaurantModel implements IModelWithId라고 해주었으니 상속관계가 있는데 왜 subtype이 아니라는걸까요?
답변을 작성해보세요.
0
코드팩토리
지식공유자2023.02.05
안녕하세요!
제가 테스트해봤는데 아래 상황이 맞나요?
void main() {
runner<Model>(Model());
}
class ITest{}
class Model implements ITest{}
runner<T extends ITest>(T t){
print(t);
}
위 코드는 정상적으로 작동되긴합니다.
답변 1