I've used ?? in my implementation of IDataErrorInfo:
public string Error
{
get
{
return this["Name"] ?? this["Address"] ?? this["Phone"];
}
}
public string this[string columnName]
{
get { ... }
}
If any individual property is in an "error" state I get that error, and otherwise I get null. It works really well.