如何使用 microsoft.cci 成员仅获取用户创建的属性?

Posted

技术标签:

【中文标题】如何使用 microsoft.cci 成员仅获取用户创建的属性?【英文标题】:How to get only user created properties using microsoft.cci Members? 【发布时间】:2010-07-15 11:50:45 【问题描述】:

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

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

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

foreach(Microsoft.Cci.Member member in class.Members)

    if( member.IsPublic )
    
        Write( member.Name + ",\n");
    

get_FirstName,

set_FirstName,

获取姓氏,

设置姓氏,

名字,

姓氏,

.ctor

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

非常感谢。

【问题讨论】:

【参考方案1】:

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

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

    //...

【讨论】:

谢谢妮可 - 我会试试看的。 也可以使用 type.Members.OfType()

以上是关于如何使用 microsoft.cci 成员仅获取用户创建的属性?的主要内容,如果未能解决你的问题,请参考以下文章

从角色获取所有成员仅返回 Bot 和发送命令的用户 [重复]

如何获取不和谐服务器中特定角色的所有成员的列表?

如何仅使用 discordjs v12 存储具有特定角色的成员的所有数据

仅选择(至少)是某些组成员的用户

如何跳过字段并仅使用JAXB解组该字段的特定成员?

在仅拿到头文件的情况下,如何修改类中的私有成员值?