Tôi đang tạo một ứng dụng quan trọng về hiệu suất thực hiện thao tác hình ảnh. Tôi đang sử dụng một số con trỏ pixel sử dụng cấu trúc của tôi có tên là Pixel
để thực hiện một số thao tác. Tôi đã có rất nhiều phần mã lặp qua toàn bộ dữ liệu bitmap và vì lợi ích của khả năng tái sử dụng mã và mô đun, tôi đang thiết kế một phương thức sẽ thực hiện hành động và áp dụng nó cho tất cả các pixel của hình ảnh (như bản đồ chức năng). Tuy nhiên, khi tôi viết Action<Pixel*>
Visual Studio phàn nàn về mã nói rằng loại Pixel*
có thể không được sử dụng làm đối số loại. Cả lớp đều trong ngữ cảnh unsafe
và tôi đang sử dụng các con trỏ Pixel
ở mọi nơi, nhưng tôi không thể sử dụng con trỏ pixel làm lớp mẫu của Hành động.Sử dụng Action <PointerClass *> làm đối số
Tôi có thể sử dụng Action<IntPtr>
nhưng tôi sẽ cần phải chuyển đổi nó thành con trỏ thích hợp bên trong phần thân phương thức trong MỌI lần lặp lại, điều này sẽ giết toàn bộ ý tưởng là "hiệu suất quan trọng".
Thông báo lỗi chính xác? –
'Loại 'Tools.Imaging.Pixel *' có thể không được sử dụng làm đối số kiểu ' –
Tại sao không chỉ' Action ' –