Có một lối tắt nào đó trong C# (VS 2008) để tự động triển khai các phương thức lớp cơ sở ảo và trừu tượng trong lớp dẫn xuất không?Tự động tạo triển khai phương pháp lớp cơ sở
Trả lời
Đối với phương pháp ảo, bạn có thể nhập override
và sau đó là khoảng trắng. Intellisense sẽ cung cấp cho bạn một danh sách các tùy chọn.
Đối với phương pháp trừu tượng và thuộc tính, bạn có thể sử dụng thẻ thông minh trên các lớp cơ sở hoặc giao diện (còn, Ctrl + . hay phím Shift + Alt + F10 sẽ hiển thị trình đơn thẻ thông minh) để tạo ra các vật phẩm cụ thể.
Ví dụ, trong đoạn mã sau đây, bạn có thể đặt dấu nháy vào cuối INotifyPropertyChanged
và nhấn Ctrl + . để sau đó chọn Thực hiện giao diện, và sự kiện PropertyChanged
sẽ được thêm vào MyClass
:
class MyClass : INotifyPropertyChanged
{
}
Đối với các phương pháp ảo, nhập ghi đè, cung cấp khoảng trắng và intellisense sẽ cho bạn thấy tất cả các phương pháp có thể được kế thừa.
Chỉ cần gõ Giao diện mà bạn muốn thực hiện, và sau đó bấm vào khóa thông minh, một menu ngữ cảnh sẽ bật lên, và sau đó bạn có thể chọn một trong hai Thực hiện giao diện hoặc Thực hiện giao diện một cách rõ ràng:
Tất cả các thành viên để được ghi đè sẽ được chứa trong một vùng mã được đặt tên để phản ánh mục đích của nó.
Tất cả các thành viên sẽ có một dòng ném một số NotImplementedException
.
Các cuộc đàm phán OP về bắt nguồn từ lớp cơ sở và không phải về triển khai giao diện. – Kangkan
Như những người khác đã đề cập, thẻ thông minh (qua Ctrl+.
và Alt+Shft+F10
) sẽ giải quyết vấn đề của bạn, tuy nhiên Visual Studio có một tùy chọn gây phiền nhiễu mà sẽ tự động quấn tạo ra thuộc tính/phương pháp với một khu vực như thế này:
#region INotifyPropertyChanged members
...
#endregion
Bạn có thể bật chức năng này bằng cách truy cập Tools > Options > Text Editor > C# > Advanced
. Có một hộp kiểm được gọi là Implement Interface > Surround generated code with #region
. Chỉ cần chắc chắn rằng nó là không được kiểm soát.
Tôi nghĩ rằng khu vực này là loại tốt đẹp vì nó cờ các phương pháp như liên quan đến giao diện, và cũng làm cho toàn bộ nhóm đóng mở. –
Đừng nghĩ rằng điều này tồn tại khi câu hỏi ban đầu được hỏi, nhưng ít nhất là của VS 2013, bạn có thể tự động tạo ra các phương thức trừu tượng cho các phương thức trừu tượng & thuộc tính. Chỉ cần nhấp chuột phải vào tên lớp trừu tượng (trong định nghĩa lớp học của bạn) và chọn "Triển khai lớp trừu tượng". Cũng giống như CMS cho thấy với việc tự động thực hiện các giao diện.
CMS nhấp vào "Thẻ thông minh", hộp nhỏ xuất hiện bên dưới chữ M trong 'MyInterface' trong ảnh của anh ấy. – Zack
- 1. Gọi một lớp cơ sở phương pháp
- 2. Gọi siêu phương pháp lớp tự động
- 3. Calling lớp cơ sở ghi đè chức năng từ phương pháp lớp cơ sở
- 4. Tự động tạo phương pháp Nhận & Đặt?
- 5. Tự động triển khai giải pháp SSIS/DLL hỗn hợp
- 6. Triển khai cơ sở dữ liệu tự động với nội dung do người dùng tạo (a la CMS)
- 7. triển khai cơ sở dữ liệu python
- 8. JUnit bỏ qua phương pháp @Test từ lớp cơ sở
- 9. Gọi một phương pháp ghi đè từ lớp cơ sở
- 10. Trình tự động với lớp cơ sở và các tùy chọn cấu hình khác nhau để triển khai
- 11. Triển khai web tự động
- 12. C# triển khai giao diện một phần tốt nhất trong lớp cơ sở/trừu tượng
- 13. C++: Nguồn gốc + Lớp cơ sở triển khai một giao diện đơn lẻ?
- 14. Tự động tạo kiểu và gọi hàm tạo của lớp cơ sở
- 15. Triển khai tự động Mercurial
- 16. Tự động hóa việc phát triển và triển khai Wordpress
- 17. Tự động tạo các phương pháp sơ khai mà ném vào nhật thực
- 18. Phương pháp được khai báo bên ngoài lớp được bao gồm tự động?
- 19. Java - bằng phương pháp trong lớp cơ sở và trong các lớp con
- 20. Dự án triển khai trước trong cơ sở dữ liệu
- 21. Triển khai Trang xem cơ sở MVC tùy chỉnh
- 22. Tạo trường DateTime trong cơ sở dữ liệu tự động?
- 23. Trình tạo lớp cơ sở có được gọi tự động không?
- 24. Capistrano Triển khai Wipes Cơ sở dữ liệu?
- 25. Các kịch bản cơ sở dữ liệu tự động ELMAH
- 26. C# - Cách tạo phương thức chỉ hiển thị với các lớp thừa hưởng lớp cơ sở của phương thức
- 27. Phản ánh Java: Tạo lớp triển khai
- 28. Phải triển khai phương pháp trừu tượng được thừa kế
- 29. UIImage - triển khai thuật toán cấp tự động
- 30. Visual Studio - tự động triển khai tất cả các phương pháp được kế thừa từ giao diện
Tính năng này hoạt động tốt cho việc triển khai Giao diện. Tôi muốn lấy được một lớp từ một lớp khác và không có cách nào dễ dàng để làm điều đó. – Kangkan
@Kangkan: Nếu lớp kia có các phương thức trừu tượng, nó hoạt động giống như với các giao diện. tuy nhiên, nếu nó có các phương thức ảo với việc triển khai, bạn chỉ nên ghi đè lên các phương thức bạn cần. Tôi không chắc chắn những gì "cách dễ dàng" bạn đang thiếu, nhưng chỉ cần gõ ghi đè và một không gian như trên và nó sẽ cung cấp cho bạn một lsit của các phương pháp có sẵn. Bạn không cần phải ghi đè tất cả. –
Tôi muốn thêm các thuộc tính và phương thức bổ sung vào lớp của mình trong khi vẫn duy trì tất cả các phương thức và thuộc tính từ lớp cơ sở. Vì vậy, tôi muốn nhận được các phương thức và các thuộc tính được thực hiện như là cách base.method(). – Kangkan