我們的系統複雜性已經上升到需要將數據庫中與客戶端綁定的權限名稱更具體化的程度。在客戶端中,權限是從一個靜態類引用的,因爲很多客戶端功能依賴於每個用戶擁有的權限以及角色的種類。我以this post爲例,但我正在尋找更具體的用例。就拿這個基準,其中PermissionAlpha將是一個常量字符串:以字符串形式檢索類名稱層次結構
return HasPermission(PermissionNames.PermissionAlpha);
這是偉大的,但現在,事情正在變得越來越複雜的類來構成這樣的:
public static class PermissionNames
{
public static class PermissionAlpha
{
public const string SubPermission = "PermissionAlpha.SubPermission";
}
}
我m試圖在這個新的設置中找到一個簡單的方法來引用PermissionAlpha,它的行爲類似於上面的第一個聲明。要做到這一點的唯一方法就是像下面的例子那樣採用拉類名的值?我試圖把所有的名字保存在一個可以在應用程序中的任何地方引用的地方。
public static class PermissionAlpha
{
public static string Name { get { return typeof(PermissionAlpha).Name; } }
}
**編輯** - 添加缺少的權限名稱。
我認爲對於這個特殊的變化,考慮到時間限制,這會有點困難。不過,我們希望很快能夠移植到Silverlight,這絕對是值得考慮的事情。有沒有關於如何設置的例子?概念化有點困難。 – 2010-04-09 18:21:01
我會繼續前進,並在做更多的研究後接受它。切換到這種模式看起來可能是一個不錯的方法。謝謝! – 2010-04-11 10:47:38
酷!一旦你開始代碼生成,你永遠不會想回去。 – adam0101 2010-04-13 12:54:46