将模块作为变量存储在锈中

问题描述 投票:0回答:1

我有2个不同的模块,它们具有完全相同的实现,相同的功能,类型等。它们只是做不同的事情。我希望能够在运行时选择这些模块之一并专门使用它。此外,其中的一些模块基于平台,功能等在编译时可能存在也可能不存在。this是指向我想要的超级精简版本的链接。我正在尝试在各种gfx-hal后端之间进行选择。我能想到的最好的办法是为每个可能的模块创建一个if语句的宏,然后在运行模块中的函数时触发该if语句。但是,这似乎并不优雅或根本没有好处。那么,有没有一种方法可以将模块存储在变量中并对其进行访问,或者通过某种方式来模拟该变量?]

提前感谢

我有2个不同的模块,它们具有完全相同的实现,相同的功能,类型等。它们只是做不同的事情。我希望能够在运行时选择这些模块之一,并使用...

rust
1个回答
1
投票

您可以通过将每个模块变成自己的特征实现来实现,类似于gfx-rs的工作方式。

© www.soinside.com 2019 - 2024. All rights reserved.