当我使用Visual Studio的一个自动生成的块时,我希望能够控制为事件生成的默认代码。当前模板如下:
void HandlerName(object sender, HandlerEventArgs e) {
throw new NotImplementedException();
}
我想将此更改为以下内容:
private void HandlerName(object sender, HandlerEventArgs args) {
throw new NotImplementedException();
}
即我总是改变的args
参数。
更新:除此之外,我们还在此处包含对私人成员的评论的政策,因此我的要求的另一个用例是生成默认评论。
更新2 :由于有非标准命名惯例的证据,我现在撤消想要将e
重命名为args
的原因,但我仍然希望如果可能,覆盖模板以显式访问修饰符和默认注释。
答案 0 :(得分:1)
我认为e
来自代理签名(delegate void HandlerEventHandler(object sender, HandlerEventArgs e)
),因此如果不更改委托签名,则无法更改...
答案 1 :(得分:0)
您是说要在创建事件处理程序时更改自动生成的代码吗?
我的回答是否定的,但我不确定你为什么需要这样做。
答案 2 :(得分:0)
如果您仍想将某些内容更改为自动生成的事件处理程序代码,我会在几年后对Visual Studio使用this扩展名。
生成更干净的事件处理程序名称非常有用。正如您将看到的,扩展程序将向您建议一个名称如下的方法,而不是生成类似txtName_LostFocus的内容:OnNameLostFocus。
这有助于摆脱我们通常添加到控件的下划线和前缀。扩展程序有一个配置屏幕,用于添加所需的所有前缀。
但我说的一切对回答你的问题没有帮助。这是它的帮助 - >在您可以下载的代码中,您可以看到引擎如何工作以替换事件处理程序方法的名称,我完全相信您可以找到一个解决方案来重命名您想要的任何参数(如果您仍然想要)以及,添加一个显式修饰符。
我会尝试找到解决方案并告诉您我的进展。
<强>更新强> 如果你想使用清理引擎为你添加显式修饰符,你也可以自动使用Resharper。