Я хочу составить список указателей на места, которые содержат определенное значение в памяти процесса другого процесса. Значение может быть короткое, целое, длинное, строковое, логическое или что-то еще.
Моя идея состоит в том, чтобы использовать для этого Generics. У меня есть одна проблема сделать это, как я могу сказать компилятору, в какой тип ему нужно преобразовать массив байтов?
Вот что я сделал:
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?