锈:如果枚举具有派生自通用结构的所有变体,那么检查枚举中存储的通用的最佳方法是什么?

问题描述

我已经将事情压缩到我拥有通用适配器的位置,该适配器存储在非通用枚举中。看起来像:

enum Collective {
    StateTable(Adapter<StateTable>),TestMessage(Adapter<TestMessage>)
}

我有用于适配器的getter和setter,并且已将Collective值存储在vector中。虽然我可以使用match来通过以下方法进行破解,但是我想知道是否还有更好的方法

impl Collective {
    fn get_id(&self) -> u128 {
        match self {
            ReceiverAdapters::StateTable(a) => a.get_id(),ReceiverAdapters::TestMessage(a) => a.get_id(),}
    }

我已经考虑过发件人,但不确定是否有帮助。随着变体数量增加,我也关心维护。任何人都可以提供替代匹配吗?还是在这种情况下将匹配隐藏为接近零的代码

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)