2010-04-15 24 views
18

Có thể hạn chế một phương pháp để nó chỉ nhận int, double, long hoặc các loại số khác có hoạt động số thông thường (như +, -, *, /) được xác định?Generics rằng Hạn chế các loại để Int, đôi, dài

+2

Bạn có thể tạo giao diện với các hoạt động đó và bọc các loại dữ liệu số vào thứ gì đó triển khai giao diện đó. Nó có lẽ sẽ không hiệu quả nhất, và sẽ sử dụng một loạt các công cụ tùy chỉnh, nhưng nó sẽ giải quyết vấn đề đó nếu đó là điều quan trọng nhất. –

Trả lời

16

Hiện tại, điều này là không thể.

Ngoài ra, xem this question cho một workaround thể

+1

+1: Thật không may. – Richard

+4

Thực tế là không có loại cơ sở chung cho các loại số thực sự không may. –

+2

Tôi muốn khả năng chỉ định ràng buộc loại toán tử – rpetrich

9

Không, tiếc là không có hạn chế như vậy có thể. Gần nhất bạn có thể nhận được là sử dụng struct, IConvertible làm hạn chế loại chung.

Bạn có thể muốn đọc this question.

+2

Tôi ngạc nhiên là tại sao điều này từ Lucero không được bỏ phiếu. Sử dụng các cấu trúc là cấu trúc gần nhất có thể hạn chế tham số kiểu là kiểu giá trị – AlwaysAProgrammer

Các vấn đề liên quan