【发布时间】:2011-04-11 14:34:25
【问题描述】:
我经常思考这个问题......这可能是一个白痴问题,但这里是。
假设我有这门课:
public class SomeClass
{
public int AProperty { get; set; }
public void SomeMethod()
{
DoStuff(AProperty);
}
}
这样做有什么好处:
public class SomeClass
{
public int AProperty { get; set; }
public static void SomeMethod(int arg)
{
DoStuff(arg);
}
}
唯一明显的优势是我现在可以直接访问SomeMethod。
那么,将这些方法设为静态是一种好的做法吗?稍微重构一下就可以了,还是浪费我的时间?
编辑:我忘了提(ShellShock 的评论提醒了我)我问的原因是我使用 ReSharper,它总是提出“方法 X 可以设为静态”等建议...
【问题讨论】:
-
如果方法不需要特定于实例的数据,您可以将其设为静态。
-
我知道 halfdan,但我想问 - 我应该吗?
-
这是一个有趣的问题。我无法回答,因为我没有足够的 XP。然而,这里有一个有趣的链接,它争论在哪里使用或不使用“静态”关键字:codebetter.com/blogs/patricksmacchia/archive/2009/11/16/…
标签: c# parameters methods static