Estoy creando una aplicación de rendimiento crítico que implementa la manipulación de imágenes. Estoy usando algunos punteros de píxeles usando mi estructura llamada Pixel
para hacer algo de procesamiento. Tengo muchas partes de código que iteran sobre los datos de mapa de bits, y en aras de la reutilización y modularidad del código, estoy diseñando un método que tomará una acción y la aplicará a todos los píxeles de la imagen (como un mapa función). Sin embargo, cuando escribo Action<Pixel*>
, Visual Studio se queja del código que dice que el tipo Pixel*
no se puede usar como argumento de tipo. Toda la clase está en un contexto unsafe
y estoy usando Pixel
punteros en todas partes, pero simplemente no puedo usar un puntero de píxeles como clase de plantilla de Acción.Uso de la acción <PointerClass *> como argumento
Puedo usar Action<IntPtr>
pero tendré que convertirlo en los punteros apropiados dentro del cuerpo del método en CUALQUIER iteración, lo que mataría a la idea de ser "crítico para el rendimiento".
¿Aparece un mensaje de error exacto? –
'El tipo 'Tools.Imaging.Pixel *' no se puede utilizar como argumento de tipo ' –
¿Por qué no simplemente' Acción ' –