Est l'aide de l'Action.Invoquer considéré comme une bonne pratique?

Si j'ai le code ci-dessous, je dois appeler l'Action, ou doit-elle appeler à l'Action.Invoquer?

public class ClassA
{
  public event Action<string> OnAdd;

  private void SomethingHappened()
  {
    if (OnAdd != null)
     OnAdd("It Happened"); //Should it be OnAdd.Invoke("It Happened") ???????
  }
}

public class ClassB
{

  public ClassB()
  {
    var myClass = new ClassA();
    myClass.OnAdd += Add;
  }

  private void Add(string Input)
  {
    //do something
  }  
}
  • En c# 6, il peut finir par être de plus en plus populaire à utiliser le nouveau OnAdd?.Invoke("It Happened"); syntaxe
  • Un peu plus de détails pour le commentaire ci-dessus. Cet exemple utilise une fonction de C# 6, le Null-Opérateur Conditionnel. L' ? opérateur empêche l'appel de Invote méthode si OnAdd est null empêchant ainsi une exception. Cela permet à l'écriture de code qui annule la valeur null explicite de la vérification montrent les réponses ci-dessous. Voir msdn.microsoft.com/en-us/magazine/dn802602.aspx pour plus de détails.
  • À titre de comparaison ici: jacksondunstan.com/articles/3283 .
InformationsquelleAutor Jon | 2012-02-13