Я извлекаю значение bool из (не универсальной, разнородной) коллекции.
 as оператор может быть использован только с ссылочными типами, так что это не возможно сделать использование в as попробовать охранный оттенок 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;
  Есть ли что-то подобное, что можно сделать для безопасного приведения объекта к типу значения без возможности InvalidCastException если по какой-либо причине значение не является логическим?