J'extraire une valeur bool
d'une collection (non générique, hetrogeneous).Comment est-ce que je peux lancer en toute sécurité un System.Object à un `bool` en C#?
L'opérateur as
ne peut être utilisé avec des types de référence, il est donc impossible de ne pas utiliser as
pour essayer un coffre-fort-cast à bool
:
// This does not work: "The as operator must be used with a reference type ('bool' is a value type)"
object rawValue = map.GetValue(key);
bool value = rawValue as bool;
Y at-il quelque chose de similaire qui peut être fait en toute sécurité cast un objet à un type de valeur sans possibilité d'un InvalidCastException
si, pour une raison quelconque, la valeur n'est pas un booléen?
@SLaks: Voir les réponses de mell et kalusbyskov pour des alternatives à l'utilisation de deux moulages. Pas que ça aide vraiment. –