我有一个库,它需要一些东西来实现特定的特征(TQDispatch
)。
在我的主要项目中,我有一个对象向量,它们都实现了Device
动态调度所需的不同特征 ( )。
声明了设备特征
pub trait Device: TQDispatch{..}
我的期望是我可以从实现者列表中获取一个项目Device
并获得它的TQDispatch
特性,以便我可以将它传递给库。鉴于任何实现的东西Device
也都实现了TQDispatch
,这似乎应该是可能的。
我可以将原始的“真实”对象投射到任何一个,但我找不到如何在这两个特征之间进行投射。
澄清:这些Arc<dyn Device>
在我的项目向量中,我需要它们Arc<dyn TQDispatch>
用于库。