我目前正在将一些本地代码移植到C#,其中包括各种结构、委托、枚举和外部方法调用。
在某些结构中,一些字段需要应用特定的常量。将常量列在结构中似乎是合乎逻辑的,而不是在单独的位置上列出,因为这样可以保持所有内容的组织性,但我不确定这会对结构在与本地调用进行互操作时产生什么影响。
例如,假设我的结构定义如下:
[StructLayout(LayoutKind.Sequential)]
public struct NATIVE_STRUCTURE
{
public int Value;
}
在此情况下,值可能需要以下常量之一:
VALUE1 = 0x0001;
VALUE2 = 0x0002;
所以,我可以这样写这些结构吗?关于安全性的问题:
[StructLayout(LayoutKind.Sequential)]
public struct NATIVE_STRUCTURE
{
public int Value;
public const int VALUE1 = 0x0001;
public const int VALUE2 = 0x0002;
}
有人能够说明一下这可能如何影响运行时的代码(如果有的话)。谢谢。