Heb je dat ook wel eens? Ontwikkel je een op het eerste gezicht geweldige method maar kom je er later in het ontwikkelproces achter dat dit niet de juiste weg is. Vervolgens verzin je iets compleet anders dat je vorige werkelijk geniale method compleet overbodig maakt. En nu....? Je mede ontwikkelaars maken al flink gebruik van jouw oude method en om ze nu allemaal een voor een op te gaan bellen met een mea culpa verhaal is ook zo wat. Misschien is dit het goede moment om de ObsoleteAttribute te gaan gebruiken.
[Obsolete("This method is obsolete, please use NewMethod")]
public string OldMethodName()
{
return something;
}
Bij een nieuwe build verschijnen nu warnings in de Error List van Visual Studio bij elke aanroep van OldMethodName. Men kan dan zien dat er een nieuwe manier is en op een rustig moment de gewenste aanpassing doen. Eventueel kan je de warnings zelfs nog vervangen door errors. Gebruik dan de overload met als tweede parameter de boolean error en zet deze op true.
[Obsolete("This method is obsolete, use NewMethod",true)]
Overigens ben je niet beperkt tot methods, je kan de ObsoleteAttribute class ook gebruiken bij o.a. classes, properties, structs, fields, etc.. voor rmeer info zie MSDN:
http://msdn.microsoft.com/en-us/library/system.obsoleteattribute.aspx