Quelqu'un peut-il m'expliquer ce que fait la ligne de code C# suivante?C# problème de délégué - que diable ce code fait-il?
public event EventHandler<DataEventArgs<BusinessEntities.Employee>> EmployeeSelected = delegate { };
Le bit qui est vraiment me suis perplexe est la pièce delegate { }
à la fin. Pour un peu plus de contexte, l'échantillon des EmployeesListView.xaml.cs dans l'échantillon ViewInjection livré avec PRISM 2. La définition complète de la classe est présentée ci-dessous:
/// <summary>
/// Interaction logic for EmployeesListView.xaml
/// </summary>
public partial class EmployeesListView : UserControl, IEmployeesListView
{
public EmployeesListView()
{
InitializeComponent();
}
public ObservableCollection<BusinessEntities.Employee> Model
{
get { return this.DataContext as ObservableCollection<BusinessEntities.Employee>; }
set { this.DataContext = value; }
}
public event EventHandler<DataEventArgs<BusinessEntities.Employee>> EmployeeSelected = delegate { };
private void EmployeesList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
BusinessEntities.Employee selected = e.AddedItems[0] as BusinessEntities.Employee;
if (selected != null)
{
EmployeeSelected(this, new DataEventArgs<BusinessEntities.Employee>(selected));
}
}
}
}
Dans notre société, nous appelons cela le "modèle de délégué vide" –