微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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 举报,一经查实,本站将立刻删除。