是否可以拥有一个包含多个值的条目的资源文件。
例如。我想拥有类似的东西。
资源.CanViewSection.Value 资源
.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
}
我尝试了几种方法,例如。在资源的值列中添加名称并在评论部分添加描述,但我不知道如何以编程方式访问资源文件的评论列。
我意识到我也可以使用 ENUMS 实现这种效果,但我第二次猜测最好的方法是什么,因为我们将拥有大量权限,并且不知何故,具有 2 个同样巨大的扩展的巨大 ENUM 的想法让我感到奇怪出去。
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!";
}
}
}
我也愿意接受其他建议?