Я начинаю C# и загружаю метод расширения в How do I make a DataGridView immediately commit edits? Метод отлично работает, но не понимает синтаксис.Синтаксис прилагаемого метода расширения
Мой вопрос заключается в том, чтобы задать объяснение синтаксиса на две строки.
1-я строка: gv.CurrentCellDirtyStateChanged += (sender, args) =>
Что такое +=
и =>
для ???
2-я строка: };
Зачем нужна точка с запятой?
public static void ChangeEditModeToOnPropertyChanged(this DataGridView gv)
{
gv.CurrentCellDirtyStateChanged += (sender, args) =>
{
gv.CommitEdit(DataGridViewDataErrorContexts.Commit);
if (gv.CurrentCell == null)
return;
if (gv.CurrentCell.EditType != typeof(DataGridViewTextBoxEditingControl))
return;
gv.BeginEdit(false);
var textBox = (TextBox)gv.EditingControl;
textBox.SelectionStart = textBox.Text.Length;
};
}
Вы имеете дело с событиями (http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx) и лямбды (http://msdn.microsoft .com/en-us/library/bb397687.aspx) – juharr