我如何检查一个给定的对象是否为空,换句话说,如何实现以下方法…
bool IsNullableValueType(object o)
{
...
}
我正在寻找可空值类型。我没有想到引用类型。
//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周围创建一个可空的包装器。