2013-07-24 19 views
3

我試圖做這樣的事情:如何將一個枚舉數組放在一個授權屬性中?

[CustomAuthorize(Permissions = new[] { /*These are Enums */Permissions.CanChangeProducts.ToString(), Permissions.CanChangeNames.ToString()})] 
    public ActionResult MyMethod() 
    { 
     return View(); 
    } 

它給人的錯誤:

錯誤5的屬性參數必須是常量表達式,屬性參數類型的typeof表達式或數組創建表達式[...]

我已經設法將資源字符串放入validationattibutes,但我無法設法將此枚舉(字符串)數組放入authorize屬性中......我該怎麼做?任何幫助,將不勝感激!

+0

是什麼類型的權限?所有的錯誤是說這不是String [] –

回答

4
enum.Value | enum.Value | enum.Value 

flags怎麼樣?

像這樣:

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Enum)] 

編輯:順便說一句,有很有意思的答案:https://stackoverflow.com/a/270231/2524304

+0

好吧,我把這些枚舉放入一個繼承了authorizeAttribute的自定義授權類中的string []變量中......我怎樣才能使用該標誌?由於「權限」數組接收的參數數量有變化 –

+0

已編輯,添加了可能的答案鏈接 – FSou1

+0

好吧!我繼續你發送的鏈接,我得到了一個答案......我只需要將enum數組本身放入類中,它就可以工作!哈哈謝謝...我仍然會嘗試使用這個標誌! –

相關問題