2009-05-27 25 views
9

Tôi biết quy ước đặt tên cho các phương thức lớp trong C# là bắt đầu bằng một chữ hoa và mỗi từ mới là một chữ cái viết hoa (ví dụ: GetDeviceName). Vì vậy, câu hỏi của tôi là tại sao khi tôi tạo một biểu mẫu, đặt một điều khiển trên nó, sau đó nhấp đúp vào điều khiển (cho phương pháp được tạo tự động cho tôi bởi IDE) Tôi nhận được một phương pháp bắt đầu với một phi vốn lá thư ? (Ví dụ s electButton_Click (object sender, EventArgs e))Tại sao studio trực quan phá vỡ quy ước đặt tên cho các phương thức trong C#?

Trả lời

11

Quy ước đặt tên cho xử lý sự kiện của các điều khiển luôn controlName_EventName, vì vậy về cơ bản, nó reuses quy ước đặt tên của riêng bạn cho điều khiển, và sau đó thâu nhỏ trên tên của sự kiện.

Điều này có thể trái với tiêu chuẩn đặt tên chung, nhưng nó luôn luôn theo cách này. Bản cập nhật này, là các công cụ như GhostDoc có thể nhận ra định dạng này, và do đó tạo ra tài liệu mà, trong khi vẫn chung chung, là nhiều hơn đến điểm, hơn nếu nó đã cố gắng suy ra mục đích của phương pháp của chính nó .

Ví dụ, phương pháp "controlName_EventName" có thể được ghi lại như thế này:

/// <summary> 
/// Handles the EventName event of the controlName control. 
/// </summary> 
/// <param name="sender">The source of the event.</param> 
/// <param name="e">The <see cref="System.EventArgs"/> instance 
/// containing the event data.</param> 
protected void controlName_EventName(object sender, EventArgs e) 
{ 

thay vì hơn như thế này (kể từ GhostDoc xử lý ở trên, tôi ứng khẩu ở đây quảng cáo dựa trên kinh nghiệm với tên phương pháp xấu):

/// <summary> 
/// Control names the event name. 
/// </summary> 
/// <param name="sender">The sender.</param> 
/// <param name="e">The e.</param> 
protected void controlName_EventName(object sender, EventArgs e) 
{ 
+0

không biết trình xử lý sự kiện có quy ước đặt tên khác. cảm ơn ! – thedrs

1

Vì trong trường hợp đó tên của điều khiển biểu mẫu sẽ được sử dụng kể từ khi tên được gọi. Tôi phải nói rằng tôi thích cách này vì nó cho tôi biết tên thật của điều khiển được sử dụng và không phải là một phiên bản được đổi tên.

1

Tôi cảm thấy bạn. Thực sự, tôi kinda thích quy ước đặt tên sau:

OnselectButtonClick() 
3

Nó không phá vỡ nghiêm chỉnh các quy ước đặt tên Net bởi vì các hướng dẫn chỉ áp dụng cho phương pháp công cộng. Tuy nhiên bạn có thể xem xét nó phá vỡ tinh thần của các hướng dẫn.

1

Không nhấn tab quá nhanh khi kết nối các trình xử lý sự kiện cho biết;) Meh, tất cả đều được tạo. Họ có thể thay đổi vỏ trên nó, nhưng sau đó nửa còn lại sẽ khóc về nó. Đó là một tình huống mất - mất cho họ.

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