Hier eine kleine Funktion welche überprüft, ob ein übergebenes Objekt ein Bool-Wert ist und diesen in einen entsprechenden boolschen Wert umwandelt:
static public bool ToValidBool(object n) {
if(n==null) return false;
if(n.GetType() == typeof(bool)) {
return (bool)n;
}
if(n.GetType() == typeof(string)) {
// A given String return "true", if it's not empty
string s = ((string)n).Trim().ToLower();
if( s=="1" || s=="-1" ||
Limit(s,4)=="true" ||
Limit(s,3)=="yes" ||
Limit(s,2)=="ja" ||
Limit(s,2)=="on" ) return true;
}
if(n.GetType() == typeof(int)) {
if((int)n > 0 ) return true;
}
return false;
}