您的第一次尝试失败,因为您执行了以下操作:
factory CombinedResource.create(
Resource<Ta> rA,
Resource<Tb> rB,
) =>
CombinedResource._(
resourceA: rA,
resourceB: rB,
);
但是
CombinedResource._
需要类型为的参数
T1
T2
. 你已经指定了
T1
派生
从…起
Resource<Ta>
,这意味着
T1
资源<Ta>
. 然而,情况并非相反:并非所有人都是如此
资源<Ta>
必然是一个
. 因此
不能隐式地分配给
. (降级可能不安全。)
我不知道你为什么莫名其妙地做出了决定
factory
factory CombinedResource.create(
T1 rA,
T2 rB,
) =>
CombinedResource._(
resourceA: rA,
resourceB: rB,
);