空属类型 ?
来源:互联网 发布:淘宝定制产品退货 编辑:程序博客网 时间:2024/04/28 20:59
2007年8月,xx项目进行三个月后,北京同事撤回总部,自己被调到北京开发c/s模块的一些功能.
包括 维护建议,手工派单(9月份将要开发wpf的拓补监控) ,在此处,记录下c/s下的某些知识和自己碰到的问题和解决方法.
1:空属类型
xx系统,用到了领域模型等概念.在其中某个对象模型的设计中,设计人员用到了 一个 很怪异的东西,如下代码:
/// <summary>
/// 告警产生时间,对应消息字段event_time
/// </summary>
[PropertyAlias("event_time")] //这个地方也是个知识点,还没看懂,以后在记录
public DateTime? RaiseTime //请注意这个地方的问号
{
get
{
RaiseAlarmContext context = mAlarm.RaiseAlarmContext;
if (context != null)
return context.OccurTime;
else
return null;
}
}
这个地方的问号,很怪异,问了下同事,才知道这个叫 空属类型.
那什么是空属类型呢?
举个例子:
在c#中,定义一个 值类型 DateTime tempTime;
值类型,如果没有初始化值,系统都会有个默认值,如果在程序中没有对这个值类型赋值而要存入数据库,相信数据库中的结果并不是我们希望的空,而是一个具体的值.
空属类型,解决了这个值类型可以为空的问题.
引用别人的解释:(地址:http://dotnet.chinaitlab.com/CSharp/722415.html)
空属类型简介
空属类型允许一个值类型具有“空值”意义,从而方便很多场合的运算,如数据库中的空字段。
空值类型演示:
int i = 123;
int? x = i;
double? y = x;
int? z = (int?)y;
空属类型的几个注意点
空属类型实际上是一个泛型类型
System.Nullable
空属类型如果值不为空,可以运用同样的基础类型所具有的运算,如:+、 -、 *、 /
空属类型的HasValue属性用来判断类型是否为空,如果不为空,则可以通过Value属性来获取它的基础类型的值。
2:使用反射获取对象的属性的属性名
方法一:
private PropertyInfo[] Showproperty(object a)
{
Type TpA = a.GetType();
PropertyInfo[] propertyInfo = TpA.GetProperties();
return propertyInfo;
}
方法二:
Attribute[] propertyAttributes = new Attribute[] { DesignOnlyAttribute.No };
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(a, propertyAttributes);
- 空属类型 ?
- C# 2.0 局部类型,空属类型,静态类
- C# 2.0 局部类型、空属类型、静态类
- C# 2.0 局部类型、空属类型、静态类
- C#可空类型
- C# 可空类型
- JavaScript中的空类型
- C#可空类型
- c# 可空类型
- C#可空类型
- 可空类型
- 可空类型 ?和??
- 可空类型:
- C#可空类型
- 可空类型
- 可空类型用法
- C#可空类型
- C#可空类型
- 如何用正则表达式去除连续相同字符?
- javascript关于图片自适应的小函数
- [转载] LCC编译器的源程序分析(34)continue语句
- JS读些GridView
- 使用NUnit在.Net编程中进行单元测试
- 空属类型 ?
- [转载]LCC编译器的源程序分析(35)switch语句
- firefox常见问题解答
- oracle常用函数
- Solaris 10 1/06 boot: Grub, kernel, boot_archive
- [转载]LCC编译器的源程序分析(36)case语句
- Asp.Net基于动态页面的静态页面实现
- [转载]LCC编译器的源程序分析(37)default语句
- 日本租房网站