【问题标题】:C# + Resharper - Events method with underscore - Naming conventionC# + Resharper - 带下划线的事件方法 - 命名约定
【发布时间】:2011-03-13 08:57:44
【问题描述】:

我有带有 resharper 的 VS 2010(任何版本,现在是 5.1)。

R# 附带的关于公共或受保护方法名称的默认命名约定是:“ThisIsMethodName”,我认为这很好。 但是,有时,.NET 方法的默认命名并不像我期望的那样,例如 Page_Load,或(在 webform 设计器面板中单击按钮)Button1_Click。 如您所见,单词之间有下划线。

为什么我们有这个以及如何(如果可能的话)我可以从我的解决方案中删除所有下划线?

【问题讨论】:

标签: c# resharper


【解决方案1】:

这些下划线由默认的 Visual Studio WinForm 设计器创建(当您在属性面板中双击事件名称时,VS 会创建一个具有此名称的方法)。我不确定 WCF 中的约定是什么。这与 resharper 没有任何关系 - 如果禁用它,您将观察到相同的行为。我不认为它是可配置的。

您始终可以在创建这些方法后重命名它们(以通常的方式 - 使用 Resharper)。

【讨论】:

  • 在将事件处理程序附加到事件时,当您在键入“+=”后按“tab”时,它们也会自动添加到代码视图中。
  • 当然我可以重命名按钮点击方法(因为我可以自己编写 3 行代码而不使用自动生成的代码),但我不能重命名 Page_Load 方法。如果我使用通常的方式重命名它(reshaper 只是帮助我),重命名的方法“PageLoad”将不会被调用。
  • @GiorgioMarziani 嗯。在 VS 中重命名函数不仅仅是“更改名称文本”,而是使用 F2 执行项目范围的重构。哎呀,无论何时更改变量或函数名称,VS 通常都会提供一个小工具提示来执行此类重构。
【解决方案2】:

我想我会接受 dotnet 创建事件的方式,因为每次创建需要事件的控件时都会重命名。

如果您想允许这种格式,您可以更改 ReSharper 中的默认值。在VS2008中,在ReSharper -> Options -> Languages -> Common -> Naming Styles中。

【讨论】:

  • :) 很酷的解决方案,但我想保留 resharper 附带的默认命名样式。这也是 .net 框架使用的相同命名约定(您可以看到使用智能感知导航您想要的一些对象)。但是在像“Page_Load”这样的方法中没有使用命名约定,我认为这与旧东西的兼容性有关。
【解决方案3】:

您可以更改表单或 UI 中任何可用元素的回调,使其与 resharper 的命名约定相匹配。

例子:

example on changing callbacks

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-04
    • 2013-01-05
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    相关资源
    最近更新 更多