擅长:python、mysql、java
<p>假设在所有语言中都将它们定义为逗号分隔的列表,则可以执行以下操作:</p>
<p><strong>枚举.txt</strong></p>
<pre><code> POINT,
LINE,
AREA,
VOLUME
</code></pre>
<p><strong>Myfile.h</strong></p>
<pre><code>typedef enum
{
#include "ENUMS.txt"
} domainType;
</code></pre>
在C/C++中,这是可行的。但是我不知道你的其他语言是否有类似C/C++的类似功能。如果是的话,那么你可以这样做。你知道吗</p>
<p>例如,我很肯定这在Java中是行不通的。你知道吗</p>
<p>否则,您只能在一些配置文件中定义它们并通过函数映射它们,但这样它们就不再是枚举了。如果这个例子是你所有的,那么它可能不值得努力,但如果你有数百个这样的名字,那么它可能是值得的。你知道吗</p>
<p><strong>更新</p>
<p>考虑到这一点后,可能会有其他的方法,这将是一点工作,但可能是有用的。对于支持include的语言(如我上面所示),这种方法很好。对于其他语言,如Java、Python等,您可以编写一个简单的脚本来生成有效的源文件。我对java做了类似的事情,根据从数据库读取的定义,将数据库记录作为类生成。
如果您必须支持多种语言和/或经常修改枚举,这可能会很有用,因为您仍然需要维护一个源。你知道吗</p>