Nota: ho già controllato msdn, non risolve la mia domanda effettiva, vedi sotto.Utilizza per l'attributo [Obsoleto (stringa, bool)] per .NET
Sto cercando di utilizzare l'attributo obsoleto su un costruttore (ovviamente obsoleto) in una delle mie classi. Ecco lo scenario:
Desidero essere in grado di forzare lo sviluppatore ad aggiornare il nuovo costruttore senza influire sul codice già esistente e distribuito. In questo modo posso distribuire il mio codice alla produzione, ma dal punto di vista degli sviluppatori, ogni volta che entrano nel loro codice, invece di ricevere un "avvertimento" che sono sicuro ignoreranno, voglio che ottengano un compila errore perché lo status quo non è più ok.
Quindi la mia domanda è: interesserà solo gli sviluppatori, o tutte le app di chiamata o ho sbagliato tutto? Codice
campione:
public class MyClass
{
private string _userID; //new code
[Obsolete("This constructor is obsolete, please use other constructor.", true)]
public MyClass()
{
_userID = ""; //defaulting to empty string for all those using this constructor
}
public MyClass(string userID)
{
_userID = userID; //this is why they need to use this constructor
}
}
ne e tutto l'aiuto sarà apprezzato, grazie in anticipo!
Questa è davvero una buona domanda. Ma francamente, perché non lo provi semplicemente? Un test non sembra essere così difficile. Senza offesa però. –
Credo che effettuerà la compilazione di chiunque contro il riferimento all'assembly. –
L'unico motivo per cui non sto provando a provarlo perché sono estremamente scricchiolante per il tempo e ho pensato che se qualcuno lo sapesse già avrei imbrogliato :) – IWriteApps