хотел сделать универсальную функцию для обработки 16-битных и 8-битных изображений. Изображение поступает в виде блока памяти.
private void ProcessImage<T>(IntPtr pImg, byte[] pixels) where T: byte, ushort {
unsafe{
T* t = (T*) pImg;
}
}
при обявлении указателя вылазит такая ошибка:
Cannot take the address of, get the size of, or declare a pointer to a managed type ('T')
пытался прописать:
where T: byte, ushort
where T: Byte, Int16
прописать тоже не даёт. пришлось дублировать код.
подскажите что нибудь тут можно сделать чтобы код не дублировать?