2012-02-27 34 views
41

các [something] trongĐiều gì trong dấu ngoặc vuông xuất hiện trước khi khai báo lớp C#?

[something] 
public class c1 { 

} 

gọi trong C# là gì? Nó làm gì?

+8

Chúng được gọi là Thuộc tính. –

+1

Đơn giản chỉ cần nhấp chuột phải vào nó một lựa chọn * Đi đến định nghĩa * – Oliver

+0

có thể trùng lặp của [những gì là \ [\] dấu ngoặc trong .net?] (Http://stackoverflow.com/questions/2968597/what-is-brackets-in -net) – Joe

Trả lời

12

Điều này được gọi là ứng dụng/sử dụng thuộc tính. Nó liên kết một thể hiện của một loại Attribute nhất định với một loại. Đây là những mục do người dùng xác định. Ví dụ

[AttributeUsage(AttributeTargets.All)] 
public class ExampleAttribute : System.Attribute { 
    public ExampleAttribute() { } 
} 

Đây là một thuộc tính có thể được áp dụng trên từng đặt một thuộc tính được hợp pháp

// Assembly level 
[assembly: Example] 

// Class 
[Example] 
public class C1 { 
    // Field 
    [Example] 
    public int m_field; 

    // Method 
    [Example] 
    public void Test() { } 
} 

Các địa điểm khác có thể xảy ra nhưng hy vọng này được ý tưởng chung qua. Bạn cũng có thể muốn kiểm tra hướng dẫn này

+0

Không nên là ':' go * after * 'assembly'? – svick

+0

@svick có nó nên. cố định – JaredPar

2

của nó được gọi là một thuộc tính. Một lớp có đuôi "Thuộc tính", và được thừa hưởng từ Thuộc tính:

public class SomethingAttribute : Attribute { 

} 

Nếu bạn đang tạo một, hãy chắc chắn để tìm kiếm các lớp AttributeUsageAttribute.

+2

Lưu ý rằng kết thúc tên của một lớp thuộc tính với 'Thuộc tính' là một quy ước; nó không phải là một yêu cầu. – phoog

+0

Hoàn toàn chính xác. Công ước là tốt để làm theo nếu có thể. –

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