我定义了一个这样的属性:
public IMAGE_DOS_HEADER ImageDosHeader
{
get
{
return imageDosHeader;
}
}
其中 IMAGE_DOS_HEADER 是这样的结构
public struct IMAGE_DOS_HEADER
{ // DOS .EXE header
public UInt16 e_magic; // Magic number
public UInt16 e_cblp; // Bytes on last page of file
public UInt16 e_cp; // Pages in file
public UInt16 e_crlc; // Relocations
public UInt16 e_cparhdr; // Size of header in paragraphs
public UInt16 e_minalloc; // Minimum extra paragraphs needed
}
最后我想在主程序中使用这个属性,像这样使用 foreach
foreach (var DosHeader in reader.ImageDosHeader)
{
listView2.Items[i].SubItems.Add(DosHeader.ToString("X"));
i++;
}
但发生编译错误:“错误 1 foreach 语句无法对 'PEfileReader.PeHeaderReader.IMAGE_DOS_HEADER' 类型的变量进行操作,因为 'PEfileReader.PeHeaderReader.IMAGE_DOS_HEADER' 不包含 'GetEnumerator' 的公共定义”
有人可以帮助我吗?