3

有什么方法可以将 fody 配置为不检查设置为属性的值 - 我遇到值相同并且我希望设置属性的情况,因为我在属性设置器中有未调用的附加逻辑。

4

1 回答 1

4

这显然是在原始问题之后数年,但供将来参考:

这确实可以通过修改FodyWeavers.xml文件中的选项来实现。

如 PropertyChanged.Fody wiki所示,其中一个选项被调用CheckForEquality并且可以设置为 false(默认为 true)。这将防止 Fody 注入相等检查代码。该FodyWeavers.xml文件现在可能如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<Weavers>
  <PropertyChanged CheckForEquality='false'/>
</Weavers>

如评论中所述,还可以通过 DoNotCheckEquality 属性为每个属性执行此操作,例如

[ImplementPropertyChanged]
public class Person 
{
    [DoNotCheckEquality]
    public string Name { get; set; }
}

维基/属性

于 2016-10-03T18:08:16.393 回答