一点背景:
Message Compiler是一个非常有用的工具,可以将消息文本文件转换为C / C ++头文件,从而为消息提供强类型。
消息文本文件:
; // ***** Sample.mc *****
; // This is the header section.
MessageIdTypedef=DWORD
SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
Warning=0x2:STATUS_SEVERITY_WARNING
Error=0x3:STATUS_SEVERITY_ERROR
)
FacilityNames=(System=0x0:FACILITY_SYSTEM
Runtime=0x2:FACILITY_RUNTIME
Stubs=0x3:FACILITY_STUBS
Io=0x4:FACILITY_IO_ERROR_CODE
)
LanguageNames=(English=0x409:MSG00409)
LanguageNames=(Japanese=0x411:MSG00411)
; // The following are message definitions.
MessageId=0x1
Severity=Error
Facility=Runtime
SymbolicName=MSG_BAD_COMMAND
Language=English
You have chosen an incorrect command.
消息编译器(mc.exe)将上述内容转换为头文件:
..
#define MSG_BAD_COMMAND <some-hex-number>
..
此头文件可以轻松为错误代码/消息提供强类型。
就我而言,我需要在C ++和C#代码中使用消息文本文件中定义的消息。所以我需要一个类似于:
的转换public class SomeClass
{
public const uint MSG_BAD_COMMAND = <some-hex-number>;
我想找到一个开箱即用的工具,并像mc.exe一样方便转换。
请建议。