2011-11-23 33 views
10

Khi bạn nhập "này". , bạn thường nhận được tất cả các thói quen, sự kiện, và nhiều hơn nữa ... của lớp hiện tại bạn đang ở. Và khi bạn chỉ đơn giản là đứng trên một trong những thói quen trong danh sách dài mà không chọn một, bạn thường nhận được một mô tả bên cạnh nó.Làm thế nào để có được intellisense cho các lớp tùy chỉnh tạo ra?

Tôi có thể làm như thế nào? Giả sử tôi có một lớp được gọi là CAR với hai thói quen: speed_up() và brake(). Làm thế nào tôi có thể làm cho người sử dụng lớp học của tôi để xem một mô tả của hai chức năng khi ông loại:

CAR mycar = new CAR(); 
mycar. 

Trả lời

23

Trên một lớp hoặc một phương pháp, chứ không phải là một "//" nhận xét. nếu bạn làm một dấu gạch chéo "///" (hay còn gọi là nhận xét XML), nó thực hiện một đoạn cắt ngắn để cho phép bạn điền thông tin về lớp hoặc phương thức mà bạn đang bình luận.

này sau đó xuất hiện trong mã của bạn như vậy

/// <summary> 
    /// 
    /// </summary> 
    /// <param name="sender"></param> 
    /// <param name="e"></param> 
    void Method(object sender, EventArgs e) 

Khi bạn sau đó truy cập lớp hoặc phương pháp thông qua thats IntelliSense khi mô tả sẽ xuất hiện.

+0

Nó rất đơn giản. : D Cảm ơn bạn. – Fares

+0

Tôi đã phát hiện ra sự cố với Intellisense kết hợp với các không gian tên: [link] http://stackoverflow.com/questions/23562307/intellisense-not-shown-on-public-classes-but-on-private-ones [link] có thể bạn xác nhận? –

8

Cho lớp học của bạn và các thành viên của họ, XML comments, sẽ xuất hiện trong intellisense. Cách dễ nhất để thực hiện việc này trong studio trực quan là bằng cách nhập /// phía trên những gì bạn muốn thêm nhận xét.

Ví dụ:

/// <summary> 
/// Class level summary documentation goes here.</summary> 
/// <remarks> 
/// Longer comments can be associated with a type or member through 
/// the remarks tag.</remarks> 
public class TestClass : TestInterface 
{ 
    /// <summary> 
    /// Store for the name property.</summary> 
    private string _name = null; 

    /// <summary> 
    /// The class constructor. </summary> 
    public TestClass() { } 

    /// <summary> 
    /// Description for SomeMethod.</summary> 
    /// <param name="s"> Parameter description for s goes here.</param> 
    /// <seealso cref="System.String"> 
    /// You can use the cref attribute on any tag to reference a type or member 
    /// and the compiler will check that the reference exists. </seealso> 
    public void SomeMethod(string s) 
    { 
    } 
} 

Trên đây đã được tìm thấy here.


Xem thêm: How do you get XML comments to appear in a different project (dll)?

+1

Tôi nghĩ rằng dấu gạch chéo là cách khác vòng như '///' – V4Vendetta

+0

Rất tiếc, chỉ cần nhận thấy rằng, cảm ơn. –

2

Hãy thử thêm một bản tóm tắt các phương pháp của bạn bằng cách keying trong /// và lấp đầy như dưới đây

/// <summary> 
/// This is my speed up method 
/// </summary> 
public void speed_up(){ ...} 

bạn có thể làm điều này cho mỗi người trong số các phương pháp và tài sản, do đó nó có ý nghĩa sẽ hiển thị mục đích trong Intellisense.

3

Bạn nên sử dụng các định dạng tài liệu XML có sẵn trong Visual Studio cho tất cả các loại cấu trúc (ví dụ lớp, phương pháp, tài sản ...)

Để truy cập vào nó, gõ /// trên dòng trước tuyên bố của mình.

Ví dụ:

/// 
    public void Method(string p){... 

bạn sẽ nhận được một cái gì đó như:

/// <summary> 
    /// 
    /// </summary> 
    /// <param name="p"></param> 
    public void Method(string p){... 

nếu bạn gõ /// < thậm chí bạn sẽ nhận được danh sách các phần tử XML có sẵn, như nhận xét hoặc dụ Để biết thêm thông tin, hãy xem http://msdn.microsoft.com/en-us/magazine/cc302121.aspx

2

Bạn có thể đặt các nhận xét như sau:

/// <summary> 
/// This sppeds up the car 
/// </summary> 
public void speed_up() 
{ } 
2

Bạn cần phải đặt một bình luận về nó như thế này:

/// <summary> 
/// This is my function. 
/// </summary> 
/// <param name="myParameter">This parameter is very important.</param> 
/// <returns>It returns always 42.</returns> 
public int MyFunction(string myParameter) 
{ 
    return 42; 
} 

Bạn có thể mô tả việc sử dụng các chức năng <summary> và ý nghĩa của paramaters <param name="">. Nếu hàm có giá trị trả về, bạn có thể mô tả nó bằng thẻ <returns>. Có một số thẻ mor hỗ trợ, sẽ được liệt kê bởi studio trực quan, khi bạn viết bình luận của bạn sau ba \.

1

Bạn cần thêm nhận xét tài liệu cho các phương pháp. bạn có thể làm điều này bằng tay bằng cách gõ '///' hoặc sử dụng addin studio trực quan. Nếu bạn tuân thủ các quy ước đặt tên tốt, hãy thêm GhostDoc sẽ giúp bạn thực hiện điều này.

+0

Tôi nhận được intellisensefor lớp tùy chỉnh tất cả mọi thứ nhưng không cho bất cứ điều gì trong bất kỳ dll tùy chỉnh tham chiếu trong giải pháp mặc dù công việc của /// bên trong các lớp học và các thành viên ... – gg89

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