1
Mono.Cecil을 사용하여 열거 형인지 여부를 확인하는 방법 ??(C#) Mono.Cecil을 사용하여 열거 형인지 여부를 확인하는 방법은 무엇입니까?
Type.IsEnum을 사용하면 쉽게 확인할 수 있습니다. 하지만 TypeDefinition에서 비슷한 기능을 찾을 수 없습니다 ...
확인할 방법이 있습니까?
Mono.Cecil을 사용하여 열거 형인지 여부를 확인하는 방법 ??(C#) Mono.Cecil을 사용하여 열거 형인지 여부를 확인하는 방법은 무엇입니까?
Type.IsEnum을 사용하면 쉽게 확인할 수 있습니다. 하지만 TypeDefinition에서 비슷한 기능을 찾을 수 없습니다 ...
확인할 방법이 있습니까?
TypeDefinition
에 IsEnum
속성이 있습니다. 당신의 다음 질문을하기 전에
아, 그리고, 여기가 세실를 사용하여 int 값,의에 당신이
이int ParseEnum(TypeReference enumRef, string value)
{
var enumDef = enumRef.Resolve();
if (!enumDef.IsEnum)
throw new InvalidOperationException();
int? result = null;
foreach (var v in value.Split(',')) {
foreach (var field in enumDef.Fields) {
if (field.Name == "value__")
continue;
if (field.Name == v.Trim())
result = (result ?? 0) | (int)field.Constant;
}
}
if (result.HasValue)
return result.Value;
throw new Exception(string.Format("Enum value not found for {0}", value));
}
이'에'IsEnum' 속성 것 같다 않습니다 ... 다시 열거 문자열을 구문 분석 방법 TypeDefinition'. [here] (https://github.com/jbevain/cecil/blob/master/Mono.Cecil/TypeDefinition.cs#L408)를 참조하십시오. 당신의 버전이 이것을 포함하지 않는다면 소스와 같은 확장 메소드를 작성할 수있다. – Rob