Chi controlla il Controllore...
Oggi mentre stavo creando un controllo AJAX custom per una applicazione mi sono imbattuto in questa "perla" :-)
Uno dei sistemi per implementare un controllo custom è implementare l'interfaccia IScriptControl (System.Web.UI). L'implementazione richiede due metodi:
protected virtual System.Collections.Generic.IEnumerable<ScriptDescriptor> GetScriptDescriptors()
protected virtual System.Collections.Generic.IEnumerable<ScriptReference> GetScriptReferences()
Terminato e debuggato il controllo prima di rilasciarlo l'ho passato sotto Code Analysis di VSTS (ex FxCop) e ho ottenuto queste due errori di Design del mio controllo:
Warning 4 CA1024 : Microsoft.Design : Change 'GetScriptDescriptors' to a property if appropriate. C:\Applications\EstatesManagement\Current\DevLeap.Library.Web.UI.AjaxControls\TextBoxWithWSValidation.cs 58 DevLeap.Library.Web.UI.AjaxControls
Mi piacerebbe trasformare il tutto in proprietà, peccato che siano metodi dettati da una interfaccia del framework :-)
Non è la prima volta che mi capita di ottenere errori sul codice del FW stesso, ma avendo a disposizione una connessione ad internet ho pensato di condividere questa simpatica esperienza :-)
D'altra parte c'è pure scritto: Change xxx to a property if appropriate quindi in realtà le mani avanti le hanno messe :-)
La storia comunque sarebbe più lunga per l'implementazione esplicita o implicita dell'interfaccia...