private static string GetFullyQualifiedTypeName(TypeDefinition typeDef, PEModule peModule) { var declaringType = typeDef.GetDeclaringType(); // Non nested type - simply get the full name if (declaringType.IsNil) { return(peModule.GetFullNameOrThrow(typeDef.Namespace, typeDef.Name)); } else { var declaringTypeDef = peModule.MetadataReader.GetTypeDefinition(declaringType); return(GetFullyQualifiedTypeName(declaringTypeDef, peModule) + "+" + peModule.MetadataReader.GetString(typeDef.Name)); } }