여러 값을 가진 항목이있는 리소스 파일을 가질 수 있습니까?여러 값을 가진 리소스 파일 (코드를 통해 설명 열에 액세스)
예 : 이드는 뭔가를 좋아해.
Resource.CanViewSection.Value
Resource.CanViewSection.Description.
이에 대한 나의 이유는 우리의 데이터베이스 코드 첫 번째 방법으로 생성되고, 우리는 우리의 응용 프로그램에 매우 세분화 된 권한을 구현하기 위해 필요 해요, 그래서 권한 & 많이 기대하고 있습니다 것입니다 또는 가능한 반복되는 항목 및 ID를 사용하여 모든 항목을 중앙 집중화합니다.
은 따라서 우리의 데이터베이스 씨 뿌리에서 나는 같은 것을 할 수 있습니다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에서도이 효과를 얻을 수 있다는 것을 알았지 만, 최선의 접근 방식이 무엇인지 추측하고 있습니다. 우리는 엄청난 권한을 가지게 될 것이고, 어떻게 든 거대한 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!";
}
}
}
다른 제안이 있습니까?
하나의 리소스 파일에 매핑 된 여러 언어가 필요한 경우 유효한 다른 사용자 사례는 번역입니다. – Default
입력 해 주셔서 감사합니다.우리가 아직 여러 언어를 제공해야하는지 잘 모르겠지만 (내부 응용 프로그램), 나는 항상 옵션을 사용할 수있는 것이 좋다고 생각합니다. (설명이 시드 된 후에는 prod db에서 변경 될 수 있지만) –