我在服务层有一些接口,有几个方法,首先是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);
}
答案 0 :(得分:4)
您必须为每个方法添加属性。
答案 1 :(得分:4)
我理解在这里使用方法的必要性。虽然这些方法确实可能不会改变状态,但使用方法提示冗长/向外操作,这可能是通过Service Class方法的情况。
您无法将方法重命名为LoadProjectSettings吗?
否则,您确实必须将属性添加到每个方法,或禁用该规则。
答案 2 :(得分:1)
不幸的是,你必须将它应用于每种方法。
另外,我没有看到任何理由让你的Get方法。为什么不只有只读属性,至少对于ProjectsDashboard和IList<ProjectInfo>
。那些不会影响我作为修改实现状态的实现,并且应该可能是属性。
ProjectSettings也应该返回一个索引的集合。