FxCop - 在适当的地方使用属性

时间:2009-02-17 15:31:52

标签: c# code-analysis fxcop

我在服务层有一些接口,有几个方法,首先是Get和FxCop的使用适当的属性规则抱怨我应该考虑使用属性。

我尝试使用SuppressMessageAttribute,但是当它在接口上定义时,它对成员方法没有影响。我是否需要将SuppressMessageAttribute放到每个方法中,或者是否有办法抑制整个类型的 CA1024

[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate"]
public interface IProjectService
{
    // Information and statistics about projects
    IList<ProjectInfo> GetProjects();
    ProjectsDashboard GetProjectsDashboard();

    // Project's settings
    ProjectSettings GetProjectSettings(Guid id);

    void SaveProjectSettings(ProjectSettings settings);
}

3 个答案:

答案 0 :(得分:4)

您必须为每个方法添加属性。

答案 1 :(得分:4)

我理解在这里使用方法的必要性。虽然这些方法确实可能不会改变状态,但使用方法提示冗长/向外操作,这可能是通过Service Class方法的情况。

您无法将方法重命名为LoadProjectSettings吗?

否则,您确实必须将属性添加到每个方法,或禁用该规则。

答案 2 :(得分:1)

不幸的是,你必须将它应用于每种方法。

另外,我没有看到任何理由让你的Get方法。为什么不只有只读属性,至少对于ProjectsDashboard和IList<ProjectInfo>。那些不会影响我作为修改实现状态的实现,并且应该可能是属性。

ProjectSettings也应该返回一个索引的集合。