Почему имена методов в Visual Studio по умолчанию имеют разный синтаксис CamelCase?
=====================================================================================

 Visual Studio 2019  

  

Двойное нажатие по кнопке создает метод вида  

```
private void button1_Click(object sender, EventArgs e)
```
  

По умолчанию в Win Forms кнопка имеет имя button1, соответственно и имя метода button1\_Click.  

  

в тоже время, В Microsoft .NET принято использовать UpperCamelCase для именования классов и методов.  

И во многих примерах и учебниках по WPF пишут  

```
private void Button_Click(object sender, RoutedEventArgs e)
```
  

  

Разумеется и то и то работает. Но очень часто имя метода в Win Forms начинается с маленькой буквы в силу автоматического именования Visual Studio элементов с маленькой буквы.   

Да, мы можем изменить имя. Но по дефолту, студия будет давать имя и создавать для него метод с маленькой буквы.  

  

С чем это связано? 

 Насколько я помню - очень давно, Microsoft рекомендовали придерживаться именно общераспространенного стиля именования, когда приватные методы пишутся в CamelCase (кстати, не факт, что это плохо и почему от этого ушли - вопрос). Но потом Microsoft видимо решили, что они особенные и у них все должно быть в Pascal. И обновили стайл-гайд на [msdn](https://docs.microsoft.com/ru-ru/dotnet/standard/design-guidelines/capitalization-conventions).  

Возможно про WinForms просто забыли и не стали переделывать автоматическую генерацию кода под свои же собственные стилевые требования.  

  

PS:  

У самого же Microsoft, если посмотреть на интерфейсы и реализацию библиотек .NET часто встречается именование в CamelCase. 

 Так исторически сложилось, они видимо решили не менять этого.