Как проверить, является ли данный объект нулевым, другими словами, как реализовать следующий метод...
bool IsNullableValueType(object o)
{
...
}
EDIT: Я ищу типы значений с нулевым значением. У меня не было типов ссылок.
//Note: This is just a sample. The code has been simplified
//to fit in a post.
public class BoolContainer
{
bool? myBool = true;
}
var bc = new BoolContainer();
const BindingFlags bindingFlags = BindingFlags.Public
| BindingFlags.NonPublic
| BindingFlags.Instance
;
object obj;
object o = (object)bc;
foreach (var fieldInfo in o.GetType().GetFields(bindingFlags))
{
obj = (object)fieldInfo.GetValue(o);
}
obj теперь относится к объекту типа bool
(System.Boolean
) со значением, равным true
. То, что я действительно хотел, было объектом типа Nullable<bool>
Итак, теперь, когда я работаю, я решил проверить, является ли o нулевым и создать обнуляемую оболочку вокруг объекта obj.