Browse Source

Add TypeDefinition.GetEnumUnderlyingType extension

pull/306/head
Jb Evain 14 years ago
parent
commit
6034e0841d
  1. 17
      ICSharpCode.Decompiler/CecilExtensions.cs

17
ICSharpCode.Decompiler/CecilExtensions.cs

@ -215,6 +215,23 @@ namespace ICSharpCode.Decompiler
return true; return true;
return IsCompilerGeneratedOrIsInCompilerGeneratedClass(member.DeclaringType); return IsCompilerGeneratedOrIsInCompilerGeneratedClass(member.DeclaringType);
} }
public static TypeReference GetEnumUnderlyingType(this TypeDefinition type)
{
if (!type.IsEnum)
throw new ArgumentException("Type must be an enum", "type");
var fields = type.Fields;
for (int i = 0; i < fields.Count; i++)
{
var field = fields[i];
if (!field.IsStatic)
return field.FieldType;
}
throw new NotSupportedException();
}
public static bool IsAnonymousType(this TypeReference type) public static bool IsAnonymousType(this TypeReference type)
{ {

Loading…
Cancel
Save