我想制作一个指向另一个进程的进程内存中包含某个值的位置的指针列表。该值可以是short、int、long、string、bool或其他类型。
我的想法是使用泛型来实现。但我在制作时遇到了一个问题,如何告诉编译器将字节数组转换为哪种类型?
这是我制作的内容:
public List<IntPtr> ScanProccessFor<T>(T ItemToScanFor)
{
List<IntPtr> Output = new List<IntPtr>();
IntPtr StartOffset = SelectedProcess.MainModule.BaseAddress;
int ScanSize = SelectedProcess.MainModule.ModuleMemorySize;
for (int i = 0; i < ScanSize; i++)
if (ReadMemory(SelectedProcess, StartOffset + i, (UInt16)Marshal.SizeOf(ItemToScanFor)) == ItemToScanFor)
Output.Insert(Output.Count,StartOffset + i);
return Output;
}
我该如何告诉编译器将byte[]转换为类型T?
byte[]
,而OP希望将该byte[]
转换为数据所表示的实际对象(类型为T)。 - Jaime Torres