是否有可能擁有具有多個值的條目的資源文件。具有多個值的資源文件(或通過代碼訪問評論列)
例如,我喜歡有類似的東西。
Resource.CanViewSection.Value
Resource.CanViewSection.Description。
我的這個原因是,我們的數據庫正在與代碼第一種方法創建的,我們將需要在我們的應用程序中實現非常精細的權限,所以我期待了很多權限&或可能重複的項目,並希望集中所有的編號。
因此,在我們的數據庫中播種機我可以做這樣的事情:
private IEnumerable<Permission> SetupParameterPermissions()
{
var innerCollection = new List<Permission>
{
//id like to do this
this.New(Resource.CanViewSection.Value, Resource.CanViewSection.Description),
//instead of this
this.New("CanViewSection", "User can view the section")
};
return this.SetGroupId(innerCollection, PermissionGroupEnum.Parameters);
}
,並在我們的服務,我們就可以運行我們對資源的訪問檢查,以及這樣的:
如。
if(UserHasAccessTo(Resource.CanViewSection.Value))
{
// do something amazing
}
我試過幾種方法,EG。將一個名稱添加到資源的值列&對註釋部分的描述,但我不知道如何以編程方式訪問資源文件的註釋列。
我意識到我也可以用ENUMS來達到這個效果,但是我第二次猜測最好的方法是什麼,因爲我們會有很多的權限,不知何故,一個巨大的ENUM的想法與2個平等巨大的延伸讓我感到奇怪。
public enum SomeEnum
{
CanViewSection
}
public static class SomeEnumExtensions
{
public static string GetValue(this SomeEnum)
{
switch (me)
{
case SomeEnum.CanViewSection:
return "CanViewSection";
default:
return "Fail!";
}
}
public static string GetDescription(this SomeEnum)
{
switch (me)
{
case SomeEnum.CanViewSection:
return "YOLO!";
default:
return "Fail!";
}
}
}
我接受其他的建議呢?
另一個有效的用戶案例是翻譯 - 如果您需要將多語言映射到一個資源文件中。 – Default
誠然,感謝您的意見。我不確定我們是否需要迎合多種語言(內部應用程序),但我想它總是很高興有可用的選項。 (雖然可以在prod數據庫中修改描述,但一旦它被播種) –