2010-07-01 62 views
1

當我從List模板生成視圖時,我注意到列的名稱不是基於DisplayName()註釋。我知道如何編輯list.tt代碼模板,但我不知道如何從類屬性中檢索DisplayName屬性。根據DisplayName屬性生成列標題?

回答

1

獲取DisplayName屬性的常用方法是通過反射。你將會遇到的問題是.tt模板和反射不能很好地結合在一起。反射依賴於加載到AppDomain中的代碼。由於.tt文件實際上並未加載代碼,因此無法反映出它們。

有關此問題的詳細信息,以及可能的解決方案在這裏:

http://www.olegsych.com/2007/12/how-to-use-t4-to-generate-decorator-classes/

MVC和Visual Studio必須使用某種類型的代碼檢查的生成一些生成的,所以我會在這條道路看起來,如果你不解決反射問題,也許是一些瘋狂的正則表達式。