我想知道除了类属性之外是否可以使用multicast(xml)将方面应用于所有方面?目前我有这样的事情:
<Multicast>
<When Condition="{$LoggingEnabled}">
<d:Log AttributeTargetTypes="Namespace.*"/>
</When>
</Multicast>
我意识到我必须log
元素,尽管我不确定如何。我试过UserGenerated
但没有运气。
提前致谢
答案 0 :(得分:1)
如果要从属性应用程序中排除自动实现的属性,请在UserGenerated
中设置AttributeTargetMemberAttributes
:
<Multicast>
<When Condition="{$LoggingEnabled}">
<d:Log AttributeTargetTypes="Namespace.*"
AttributeTargetMemberAttributes="UserGenerated" />
</When>
</Multicast>
如果您还想排除手动实施的属性,则需要在单独的属性应用程序中按名称过滤它们:
<Multicast>
<When Condition="{$LoggingEnabled}">
<d:Log AttributeTargetTypes="Namespace.*"
AttributeTargetMemberAttributes="UserGenerated" />
<d:Log AttributeTargetTypes="Namespace.*"
AttributeExclude="true"
AttributeTargetMembers="regex:^get_|^set_" />
</When>
</Multicast>