【发布时间】:2012-04-02 22:49:03
【问题描述】:
在代码审查期间,我快速向团队展示了一种我已将其设为静态的方法,一个人同意没有理由让它不是静态的,另一个人不同意说他不会将其设为静态,因为它不是'没有必要,只是为了以后的修改和测试安全。
所以我做了很多研究,显然这是一个专门的案例,但我想知道在这种情况下你会怎么做,为什么?
(它基本上是我从几个不同的方法调用的辅助方法,一个非常低流量的页面。更多关于我对静态的知识和学习。)
private IEnumerable<Category> GetCategoryByID(int id, Context context)
{
var categoryQuery = from selectAllProc in context.SelectAll_sp()
where selectAllProc.CategoryID == id
select selectAllProc;
return categoryQuery;
}
【问题讨论】:
-
context类型的扩展方法怎么样? -
方法是
private;我不明白将其设为静态会使任何事情变得更加困难。 -
这有点主观和争论。但是根据一些指导方针,如果您发现自己将相同的值/对对象的引用传递给许多实例方法,请改为将它们设为私有字段。如果它是私有的,我看不出有什么理由要让它成为静态的。
-
Resharper 中存在烦人的警告,仅针对您的情况。建议您阅读有关将方法设为静态stackoverflow.com/questions/169378/…
标签: c# .net linq-to-sql static