Nullables?检测它们

Are*_*ren 1 .net c# reflection nullable .net-2.0

好吧,我仍然有点新的使用可空类型.

我正在为我的一个项目编写一个反射对象步行器,即时通讯即可设置反射属性的值,并使用从反射属性中检索的值.

我检索到的值仍然是object形式,它突然出现在我身上,因为我希望我的对象walker在无法找到某些东西时返回null,(我想要抛出一个异常,但我希望这会软失败什么时候出错了).

无论如何,一些值的IM设置/获取是decimal bool等等......所以我想通了,我应该只是没有设置非空值,但我意识到我仔仔不知道如何告诉decimal从decimal?

如果继承属性im设置的类型,是否足以键入ValueType?

Chr*_*isF 6

以下代码将告诉您类型是否可为空:

private bool IsNullableType(Type theType)
{
    return theType.IsGenericType && 
           theType.GetGenericTypeDefinition().Equals(typeof(Nullable<>));
}
Run Code Online (Sandbox Code Playgroud)