¿Cómo escribir un disparador?

Quiero que mi código C # llame a un evento siempre que se asigne un valor a mi objeto.

¿Cómo exactamente necesitaría hacer eso?

class MyClass {

  ManualResetEvent mre;

  public MyClass() {
    mre = new ManualResetEvent(false);
    Data = null;
  }

  public object Data { get; set; }

  void DataSet(object sender, EventArgs e) {
    Console.WriteLine("object Data has been set.");
    mre.Set();
  }

}

Los delegados no parecen ser lo que necesito. ¿Un evento, tal vez? ¿Cómo escribiría tal evento, si es así?

MyClass mc;

void processA() {
  mc = new MyClass();
  mc.Data = GetDataFromLongProcess();
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta