2009-04-20 255 views
2

屬性與使用評論(或簽名級別的xml評論)相比有什麼優勢?我記得在某個地方在這個網站的C#部分看到一個線程,但我現在找不到它。屬性vs評論

此外,是否可以將一個屬性應用於方法中的特定參數(這是我讀過的某個訪問問題)?

回答

4

評論只是爲了開發人員的利益,以便他們能夠看到什麼類和方法。

屬性對於您正在開發的解決方案非常有用,因爲您可以使用它來描述如何使用要添加屬性的類。

是的,你可以使用屬性參數,但根據我的經驗,這使得一些複雜的代碼,考慮重新設計,所以你的參數可以分組到一個結構或類。

這裏有一個關於屬性鏈接:

http://en.csharp-online.net/Attributes

希望這有助於

1

Attributes可以在運行時訪問,這不是註釋的情況。

事實上,屬性和註釋是兩個完全不同的東西,並服務於兩個完全不同的目的。

評論旨在提供線索給程序員閱讀你的代碼,而屬性旨在提供提示編譯器/運行「閱讀」你的代碼..

2

我不知道如何屬性和評論有關;屬性爲類/對象添加了某些功能,而註釋旨在成爲在線文檔。

可以使用屬性(例如,使用Author(字符串名稱)屬性來表示類的作者等)來減輕元數據的添加,並且因此減輕了該元數據的提取,但是否則我沒有看到比較。

+0

有時屬性用於將信息添加到對象,但沒有附加功能。就像您提供的作者(字符串名稱)示例一樣。這是我想到的唯一比較。 – dotnetdev 2009-04-20 08:21:07

1

當您計劃以某種方式以編程方式處理源代碼時(通常使用.NET反射),通常會使用屬性。要對XML註釋執行相同的操作,您必須爲註釋和解析的格式源文件,而且這個約定在編譯時不能像屬性那樣容易地檢查。

1

自定義屬性是指在運行時使用反射來進行訪問。它們可以應用於方法參數以及泛型類型參數,方法返回類型,程序集,類型聲明,類型成員和模塊。

1

一般來說,您無法比較XML註釋的屬性。後者最終完全與代碼無關,而屬性保留在元數據部分的編譯程序集中。

至於你的問題的第二部分,這可能確實是:

[return:MySecondAttribute] void Foo([MyAttribute] int bar) 

這裏,MySecondAttribute被應用於返回值,MyAttribute應用於參數bar。將return:替換爲assembly:以在彙編級別應用屬性。