私はC#の初心者で、2つのクラスがあります。最初のクラスにはパブリック構造体があり、2番目のクラスは構造体を宣言しようとしています。私は英語が苦手ですが、これはあなたが理解できるようにコードです:
ファーストクラス :
class PE
{
#region NT Headers
[StructLayout(LayoutKind.Explicit)]
public struct IMAGE_NT_HEADERS32
{
[FieldOffset(0)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public char[] Signature;
[FieldOffset(4)]
public IMAGE_FILE_HEADER FileHeader;
[FieldOffset(24)]
public IMAGE_OPTIONAL_HEADER32 OptionalHeader;
}
[StructLayout(LayoutKind.Explicit)]
public struct IMAGE_NT_HEADERS64
{
[FieldOffset(0)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public char[] Signature;
[FieldOffset(4)]
public IMAGE_FILE_HEADER FileHeader;
[FieldOffset(24)]
public IMAGE_OPTIONAL_HEADER64 OptionalHeader;
}
#endregion
}
セカンドクラス:
class Main
{
struct NT_Header
{
Namespace.PE.IMAGE_NT_HEADERS32 INTSIGN =
new Namespace.PE.IMAGE_NT_HEADERS32(); //HERE IS THE ERROR!
}
}
それは常にエラーを引き起こします...助けてくれてありがとう!