0
C#의 EnumBuilder를 사용하여 데이터베이스의 테이블을 기반으로 열거 형을 만들었습니다. 그러나 프레임 워크가 설계 될 때 우리가 가지고있는 열거 형은 대개 데이터베이스의 ID와 연관된 이름 인 속성을 포함합니다.C# EnumBuilder를 사용하여 특성이있는 열거 형을 만듭니다.
DB 테이블을 수동으로 업데이트 할 필요없이 최신 열거 형을 유지하고 현재는 특성을 가진 기능을 잃지 않습니다 (거의 사용하지는 않지만). .
따라서 속성을 포함하는 열거 형을 빌드 할 수 있습니까? 내가 열거를 작성한 기존 코드에 다음을 추가하여 속성을 추가 할 수 있었다 SetCustomAttribute를 사용
즉
public enum Example
{
[StringValue("Some Name 1")]
SomeName1 = 1,
[StringValue("Some Name 2")]
SomeName2 = 2,
}
업데이트
.
Type myType = typeof(StringValueAttribute);
ConstructorInfo ci = myType.GetConstructor(new Type[] { typeof(string) });
// Other code
FieldBuilder fb = eb.DefineLiteral(name, result.ExampleID);
var cab = new CustomAttributeBuilder(ci, new object[] { result.Name });
fb.SetCustomAttribute(cab);
그래서 이전에 시도했지만 오류가 있다는 것을 알고 있습니다. 그래서, 그것을 재현하려고했지만, 대신 그것을 얻는 결국. : S .. 내 업데이트에서 작동하도록 만든 추가 코드를 추가했습니다. –
@mrfish : 미래에는 질문을 할 때 이미 시도한 것과 잘못된 것을 포함하십시오. –
주목, 도움에 감사드립니다! –