如何在CodeProperty中获取属性类型? T4

时间:2015-04-21 14:43:50

标签: c# t4

我加入了VisualStudioHelper。在这里,我按属性

获取所有课程
var classesWithMapAttribute = VisualStudioHelper.GetClassesByAttributeName("Map", projectName);

之后我获得了Class中的所有属性。

    foreach (CodeClass pi in classesWithMapAttribute)
{ 
   var allProperties = VisualStudioHelper.GetAllCodeElementsOfType(pi.Members, vsCMElement.vsCMElementProperty, true);
}

完美的工作。但我需要获得类型的属性。如果我打电话

foreach(CodeProperty property in allPropertiesDto)
        {
             <#= property.Type #>
         }

我将 System .__ ComObject 作为结果

你能告诉我,如何获得嵌套类型的属性?

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

输入t = property.PropertyType; //那将返回一个System.string

答案 1 :(得分:1)

我很惭愧,以前找不到答案......

CodeTypeRef codeTypeRef = property.Type;
codeTypeRef.AsString // here we get type of property