使用Xml忽略属性的Postsharp多播

时间:2014-01-27 22:08:35

标签: postsharp

我想知道除了类属性之外是否可以使用multicast(xml)将方面应用于所有方面?目前我有这样的事情:

   <Multicast>
    <When Condition="{$LoggingEnabled}">
      <d:Log AttributeTargetTypes="Namespace.*"/>
    </When>
  </Multicast>

我意识到我必须log元素,尽管我不确定如何。我试过UserGenerated但没有运气。

提前致谢

1 个答案:

答案 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>