"CodeElements
"Klingt so, als würden Sie die Envdte -Schnittstellen verwenden, um Zugriff auf Ihre Aufzählungen zu erhalten. Wenn ja, sind alle Enum -Elemente in der Members
-Property der EnvDTE.CodeEnum
Typ. Sie sind vom Typ EnvDTE.CodeVariable
und der explizite Wert wird in der gespeichert InitExpression
der Variablen.
Schauen Sie sich diesen Auflauf an:
// C# Enum to reflect
public enum MyEnum { Hi = 10, There = 15 }
Und dieses T4 -Codesnippet, das den Enum widerspiegelt:
<#
// the enumeration object you already seem to have
EnvDTE.CodeEnum theEnum;
// iterate all enumeration items
foreach(EnvDTE.CodeVariable variable in theEnum.Members)
{
// render name and value
#><#= variable.Prototype #> = <#= variable.InitExpression.ToString() #>
<#}
#>
Sollte dazu führen:
Hi = 10
There = 15
Ich hoffe, das hilft.