2008-11-25 90 views
8

tôi thấy chữ ký này trên lớp ListView:Ý nghĩa của ".. ::." trong C#?

public ListView..::.ListViewItemCollection Items { get; } 

Khi tôi thấy rằng, "Cái gì ?!"

Tôi đã tìm kiếm "dấu chấm chấm dấu hai chấm chấm" và ".. ::". trên Google mà không có kết quả.

alt text

+0

WoW là thiên tài? –

+0

Nó có biên dịch không? Toán tử :: là toán tử bí danh không gian tên, nhưng các dấu chấm? Tôi không có ý tưởng ... –

Trả lời

13

Đó không phải là C#; đó là JScript. Trong C#, nó sẽ là:

danh sách công khaiXem.ListViewItemCollection Items {get; }

Có một chút khác biệt vì ListViewItemCollection là lớp bên trong của ListView.

Tôi đoán rằng bạn đã thấy điều này khi xem ListView.Items Property (System.Windows.Forms).

Nếu bạn xem danh sách cho tất cả các ngôn ngữ khác, tất cả đều được liệt kê với cú pháp JScript. Bạn đã tìm thấy lỗi tài liệu.

+0

Có, tôi đã nhìn vào tài sản ListView.Items. Tôi nghi ngờ đó là một lỗi, nhưng khi tôi nhìn thấy tài sản Cột nó được liệt kê là ".. ::." quá. Dường như máy phát tài liệu có lỗi: D Cảm ơn bạn! – yuku

-4

ListViewItemCollection là một loại lồng nhau của ListView, có nghĩa là trong các mã, lớp Collection được định nghĩa bên trong định nghĩa ListView, như vậy:

public class ListView { 
    public ListViewItemCollection Items {get;} 

    public class ListViewItemCollection : IList { 
    // more code here 
    } 
} 

tôi sẽ giả định rằng nó được mã hóa theo cách này chỉ để giữ cho cây nguồn của họ sạch hơn một chút. Bằng cách này, tất cả các lớp bộ sưu tập trợ giúp được liên kết với điều khiển ListView không nằm rải rác trong toàn bộ thư mục. Các lớp bên trong có một vài đặc điểm đặc biệt, nhưng không cái nào tôi có thể tưởng tượng được sẽ áp dụng ở đây.

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