I am extracting a bool value from a (non-generic, hetrogeneous) collection.
The as operator may only be used with reference types, so it is not possible to do use as to try a safe-cast to 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;
Is there something similar that can be done so safely cast an object to a value type without possibility of an InvalidCastException if, for whatever reason, the value is not a boolean?