可空类型的转换问题(?|nullable)
来源:互联网 发布:买淘宝店铺安全吗 编辑:程序博客网 时间:2024/05/16 06:58
近日在利用反射机制编写的一个页面的控件数据自动获取与封装的工具类时,遇到了 “nullable的类型不能转换”的问题。原来的MODEL字段没有可空类型的,所以也一直没出问题,现在的MODEL字段中有几个属性是?可空类型。
1:
成员变量
decimal Id {get; set;}
下面的处理没有问题:
Convert.changeType("12", p.PropetyType);
2:
成员变量
decimal? Id {get; set;}
相同的处理就会有问题:
Convert.changeType("12", p.PropetyType);
执行的时候,总是提示nullable的类型不能转换。对于nullable的类型,取得对应的类型是不是有什么特殊的处理。
查问了资料,得知目前Convert.ChangeType要求目标类型必须是IConvertible。 虽然decimal实现了IConvertible,但Nullable <decimal>却没有实现。
正确的处理方法应该是:
现将自己写的封装方法共享一下:^_^
- 可空类型的转换问题(?|nullable)
- 可空类型(Nullable)
- Nullable 可空类型
- 可空类型的判断 System.Nullable
- 可空类型Nullable,类型转换checked,explicit,implicit
- 可空类型 System.Nullable
- 关于可空类型Nullable的一些学习
- C# Nullable的类型转换问题
- 谈谈Nullable<T>的类型转换问题
- C#2.0中的可空类型Nullable
- 可空类型Nullable<T>小结
- c#可空类型(Nullable)
- 可空类型Nullable到底是什么鬼
- C# 可空类型(Nullable)
- C# 可空类型(Nullable)
- C#梳理【可空类型Nullable】
- 强化System.Convert.ChangeType, 使其能够转换枚举ENUM和可空类型Nullable
- 强化System.Convert.ChangeType, 使其能够转换枚举ENUM和可空类型Nullable
- 序列化的作用
- Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit code 1 的错误解决
- 应该这样
- Java RMI
- CListCtrl表头控制
- 可空类型的转换问题(?|nullable)
- gcc 指定运行时动态库路径
- 错误捕捉方案
- 登录远程SQL服务器
- ASP.NET自定义错误页面
- Remove Microsoft Security Center 2012 Furtive Fraud Utility
- window.open()的所有参数列表
- Uninstall Kaspersky Internet Security 2010 – Windows Kaspersky Internet Security 2010 Uninstaller Review
- 设计模式--observer pattern