Có cách nào tôi có thể áp dụng một thuộc tính cho cấu trúc có điều kiện không?Thuộc tính struct khác nhau dựa trên 32bit hoặc 64bit
Nếu máy là 32bit Tôi muốn áp dụng thuộc tính này
[StructLayout(LayoutKind.Sequential, Pack = 2, CharSet = CharSet.Unicode)]
Nếu máy là 64bit Tôi muốn áp dụng thuộc tính này
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
Hoặc cách khác tôi có thể thay thế một giá trị trong thuộc tính ...
32bit (Gói = 2)
[StructLayout(LayoutKind.Sequential, Pack = 2, CharSet = CharSet.Unicode)]
64bit (Gói = 8)
[StructLayout(LayoutKind.Sequential, Pack = 8, CharSet = CharSet.Unicode)]
tôi đã cố gắng sử dụng này example nhưng nó cho thuộc tính tùy chỉnh, không tồn tại những người.
Cập nhật:
- Tôi muốn comile để "Bất kỳ CPU"
- Thuộc tính là cho SHFILEOPSTRUCT và tùy thuộc vào bộ vi xử lý sử dụng một trong hai hoặc.
- Tôi không muốn phải biên dịch hai phiên bản.
Bạn sẽ biên dịch chương trình tĩnh 64 và 32 bit hay bạn đang sử dụng "CPU bất kỳ" và muốn hoạt động khác nhau trong thời gian chạy? –
Nếu chỉ có lớp 'StructLayoutAttribute' không được niêm phong. Doh! – simonlchilds
bạn có thể thực hiện điều này với các chỉ thị biên dịch có điều kiện. –