Un sistema per far sì che un metodo venga marcato come Obsoleto, è aggiungendo l'attributo [Obsolete]:
[Obsolete]
public void MyMetod()
{....}
Si può anche (o meglio si deve), inserire una descrizione che mi indichi quali sono i nuovi metodi da chiamare in alternativa:
[Obsolete("Utilizzare il nuovo metodo MyMethod_2")]
Aggiungendo il valore booleano true, come nell'esempio, verrà fatta fallire la compilazionem impostando il valore a false od omettendolo, in fase di compilazione apparirà solo un avvertimento, ma la compilazione termierà con successo.
[Obsolete("Utilizzare il nuovo metodo MyMethod_2", true)]