None of that helps. A nullable int is `Nullable<int>` or `int?` for short. There is nothing about the language feature that allows you to represent null with a totally different type like `DBNull`, other than declaring your variable `object`. What's the return type of a method that sometimes returns `int` and sometimes `DBNull`? It can only be `object`.
I seem to be having some trouble explaining my point. Maybe this will illustrate better. What should be the declared return type of this method?
??? GetValue() {
if (condition) {
return 7;
}
else {
return DBNull.Value;
}
}