2015-12-05 19 views
7

tôi sử dụng VS 2015. Khi tôi tạo ra một lớp mới và cố gắng thực hiện một giao diện với các phím tắt "Ctrl +". Ví dụ: Lớp StarShip: IStarShip và sau đó tôi sử dụng "Ctrl +". và chọn giao diện triển khai. Nó thực hiện các thuộc tính và phương thức nhưng theo thứ tự bảng chữ cái! Có một cách dễ dàng để làm cho nó thực hiện chúng theo thứ tự mà họ đang ở trong giao diện, hoặc tôi nên làm điều đó bằng tay? Tôi vẫn không có một resharper, do đó, đó không phải là một lựa chọn.Làm thế nào để thực hiện tính giao diện KHÔNG trong thứ tự chữ cái

Trả lời

1

Các VS 'thực hiện giao diện' chức năng rõ ràng là sử dụng phản ánh để tạo mã, và không có gì trong các API phản ánh rằng đảm bảo trật tự của các thành viên được trả về bởi các cuộc gọi khác nhau là. Chúng tôi không kiểm soát được thứ tự phản chiếu hoặc trình tạo mã VS được sử dụng để triển khai giao diện, vì vậy chúng tôi không thể thay đổi cách hoạt động của giao diện.

Về cơ bản lựa chọn duy nhất là sử dụng một phần mở rộng VS như resharper thay thế các chức năng thực hiện các giao diện.

+0

Nhưng tại sao là hành vi khác nhau trong VS2013? –

+0

Nếu bạn liệt kê các thành viên của một giao diện (ví dụ 'typeof (IList) .GetMembers()') kết quả là khá tốt không có thứ tự. Tôi tưởng tượng ai đó nghĩ rằng nó sẽ cải thiện mọi thứ để có thứ tự chữ cái thay vì thứ tự tìm kiếm ngẫu nhiên mà bạn đã có trước đây. Điều đó hoặc họ đã có vấn đề với mã đã được thực hiện theo thứ tự trước đó và bỏ nó trong lợi của chữ cái. Tôi không có một dòng để các devs vì vậy tôi không thể nói chắc chắn. – Corey

+5

Khi bạn sử dụng VS2013 để thực hiện giao diện (tạo mã), nó sẽ đặt các phương thức theo thứ tự giống như chúng được định nghĩa trong giao diện. Câu hỏi OP có vẻ là lý do tại sao điều tương tự cũng không xảy ra trong VS2015, và nếu có thể, nó có thể giống như trong VS2013 chẳng hạn. –

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