Eventos enrutados y propiedades de dependencia Confusión de contenedor .NET

Soy nuevo en WPF y tengo una confusión sobre la sintaxis de eventos enrutados y las propiedades de dependencia que he visto en muchas fuentes que los eventos enrutados y las propiedades de dependencia se envuelven así

// Routed Event
public event RoutedEventHandler Click
{
 add
 {
  base.AddHandler(ButtonBase.ClickEvent, value);
 }
 remove
 {
  base.RemoveHandler(ButtonBase.ClickEvent, value);
 }
}

// Dependency Property
public Thickness Margin
{
 set { SetValue(MarginProperty, value); }
 get { return (Thickness)GetValue(MarginProperty); }
}

Nunca he visto agregar / eliminar / establecer / obtener palabras clave en C #. ¿Son parte del lenguaje C # como palabras clave y nunca las experimenté o trabajé con ellas porque no trabajé en C # como profesional, soy un programador de C ++? Si no son palabras clave, entonces cómo las maneja el compilador si no son parte de C # y cómo funcionan

Respuestas a la pregunta(1)

Su respuesta a la pregunta