1

我有以下代码来遍历我的类的一些属性

IEnumerable<CodeProperty> properties = CodeParser.GetEntityProjectItem(this, EntityClassType.Entity).FileCodeModel.GetClassesByName(method.EntityPropertyClassName).First().GetIEnumerable<CodeProperty>().Where(property => property.Getter != null && property.Access == vsCMAccess.vsCMAccessPublic);

这一切都很好,我得到了我的属性,接下来我将使用属性的名称和类型构建一个自定义类,除了数组之外,这也很好。

对于字符串属性,我得到名称和“System.String”

对于字符串 [] 属性,我得到名称和“”

如何使用 CodeProperty 获取数组类型

4

1 回答 1

4

我最终使用这种扩展方法让我再次工作

 public static string GetFullName(this CodeTypeRef codeType)
        {
            string fullName;

            if (codeType.TypeKind == vsCMTypeRef.vsCMTypeRefArray)
            {
                CodeTypeRef arrayType = codeType.ElementType;
                fullName = arrayType.AsFullName + "[]";
            }
            else
            {
                fullName = codeType.AsFullName;
            }
            return fullName;
        } 
于 2010-08-16T12:36:27.393 回答