【问题标题】:How to get only user created properties using microsoft.cci Members?如何使用 microsoft.cci 成员仅获取用户创建的属性?
【发布时间】:2025-11-22 09:20:03
【问题描述】:

我正在学习 T4,并且正在成功地为其成员询问我的自定义课程。

然而,我需要的是只显示我创建的属性,例如 FirstName、Surname 和 Postcode。

这是我使用时实际得到的示例:

foreach(Microsoft.Cci.Member member in class.Members)
{
    if( member.IsPublic )
    {
        Write( member.Name + ",\n");
    }
}

get_FirstName,

set_FirstName,

获取姓氏,

设置姓氏,

名字,

姓氏,

.ctor

谁能建议是否可以只访问实际属性及其类型?

非常感谢。

【问题讨论】:

    标签: c# t4 fxcop


    【解决方案1】:

    您需要从成员中提取属性。您可以通过 NodeType 来识别 PropertyNode 成员,这将是 NodeType.Property。例如:

    foreach (PropertyNode property in type.Members
                    .Where(m => m.NodeType == NodeType.Property)
                    .Cast<PropertyNode>())
    {
        //...
    }
    

    【讨论】:

    • 谢谢妮可 - 我会试试看的。
    • 也可以使用 type.Members.OfType()
    最近更新 更多