Se crei una funzione, che dovrebbe rendere più facile l'uso di typeconversion, ma potrebbe portare a più errori, implementarla globalmente e cosa potrebbe controbattere - quando la leggibilità sembra essere migliorata?
Per esempio (semplice):
public static T EnforceConversion<T>(this object Result)
{
return (T)System.Convert.ChangeType(Result, typeof(T));
}
Questo è l'esempio più semplice che potrei trovare. La notazione di resultion è IMHO molto più facile da leggere, quindi la sintassi a lungo termine, che richiede un tipo specifico inserito nel metodo.
Potresti chiamarlo come:
"True".EnforceConversion<Boolean>();
Quale penso abbia i suoi meriti.
Un altro programmatore potrebbe finire con l'idea, di mettere in tipi che non possono essere più o meno implicitamente castati, rischieresti tali conseguenze per il tuo codice? La visualizzazione dell'errore sarà più o meno gestibile come nella chiamata originale.
Esempio:
FileInfo MyFile = FileUtilites.SelectFile();
MyFile.EnforceConversion<Boolean>();