nullable相关内容
我如何检查如果一个类型是在C# 的东西可空的枚举像 类型T = GetMyType (); 布尔isEnum = t.IsEnum; //类型成员 布尔isNullableEnum = t.IsNullableEnum();如何实现这种扩展方法? 解决方案 公共静态布尔IsNullableEnum(这个T型) { 型U = Nullable.GetUnderlyingTy
..
为了检查是否键入(属性类型)是空的,我使用的: 布尔ISNULLABLE =“Nullable`1”.Equals(propertyType.Name) 是否有某种方式,避免使用魔法字符串? 解决方案 当然 - 使用 Nullable.GetUnderlyingType : 如果(!Nullable.GetUnderlyingType(属性类型)= NUL
..
我读了的条件逻辑运算符的 || 和&放了C#语言规范;&安培; ,也被称为短路逻辑运算符。对我来说,它似乎还不清楚,如果这些存在了可空布尔值,即数类型可空<布尔> (也写作布尔),所以我与非动态类型试了一下: 一个布尔= TRUE; 布尔? B =零; 布尔? XXXX = B ||一个; //编译时错误,||不能被应用到这些类型的 这似乎解决的问题(我无法理
..
我写一个无聊的应用程序来管理病人及其诊所的历史。我使用的SQLite与图书馆的DBLinq和DbMetal代码生成工具相结合。下面是从底层数据库中提取的genereated码两类: [表(NAME =“main.Patients”)] 公共部分类病人:System.ComponentModel.INotifyPropertyChanging,System.ComponentModel.I
..
给定一个类型的参数,它是一个可空<> ,我怎么能创建该类型具有的一个实例的HasValue =虚假 在换句话说,完成这个代码: //类型是保证实现可空<> 公共静态对象创建(type类型) { //实例可空< T>与反思其的HasValue =虚假的,并返回 } 我的企图,它没有按' ŧ工作(它抛出一个的NullRefere
..
TargetNullValue 应该更新绑定目标当结合来源计算结果为空: 获取或设置是价值在目标使用时光源的值为空。 在除了它似乎也将来源到空(如果可能),当目标的价值是平等的给定 TargetNullValue 。换句话说,它有效地设置了空和 TargetNullValue 属性的值之间的等价。但是这不是文档都提到 请参阅下面的例子: <窗口x:类=“WPF_S
..
我必须绑定到一个nullabe日期时间屏蔽的文本框,但是当日期为空白,在蒙面文本框中验证将无法完成。有没有办法迫使这种行为?我想为空白文本框等于空日期时间。 在文本框已经是空,验证工作。它仅当有一个日期已绑定打破我尝试空白吧。 解决方案 我想通了,它没有有验证来做。这是当日期正在解析回日期时间。 这可能不是最优雅的方式来做到这一点,但它确实工作。如果有人知道一个更好的办法,请让
..
令人惊讶的是下面的代码失败的断言: 诠释?跆拳道= 0; Assert.IsType<可空< INT>>(WTF); 所以,只是出于好奇,你怎么能确定给定的实例是一个可空<>对象与否? 解决方案 那么首先,可空< T> 是一个结构,所以没有一个的对象的本身。你不能叫的GetType(),因为这将框中的值(此时你要么空,
..
我不知道是否有人知道C#编译器是如何处理以下任务: 诠释?敏= NULL; 我的假设是,有一个隐式转换进行的,但我无法弄清楚如何null文本分配被处理。我dissasembled的System.Nullable对象,发现隐含的经营者重写这个: 公共静态隐运营商T(T值){ 返回新T(值)?; } 一旦调用,这将尝试火二级构造: 公众可空(
..
我有一个自定义的的WebControl 它实现了一个 .value的的getter / setter返回可空<十进制> 这是一个客户端过滤文本框(文本框的一个子类与包含的JavaScript和设置一些服务器端逻辑/获取值) 下面是吸气和放大器;从控制二传手: 公共小数?价值 { 得到 { 十进制金额= 0; 如果 { 返回NULL(decimal.TryPar
..
如何创建setter和getter属性为空的日期时间。 例如: 私人的DateTime mTimeStamp; 公共DateTime时间戳 { {返回mTimeStamp; } 集合{mTimeStamp =价值; } } 是否为空的属性支持setter和getter还是我声明它公开? 私人的DateTime? mTimeStamp; 公共D
..
我如何检查是否可选参数传递给方法? 公共无效ExampleMethod(INT要求,串optionalstr =“默认字符串”, INT optionalint = 10) { 如果(optionalint传递) 的回报; } 另一种方法是使用可空< T&取代。的HasValue ( MSDN定义的, MSDN范例): INT default_o
..
我有一个从DataReader返回一个空Int32,而不是建在GetInt32等的简单方法。 我调用这个方法很多很多次,并有一种情况在那里任何时候我可以剃掉,这将是有益的。 任何人都可以提出任何替代方案,并得到一个空Int32出的DataReader的更快的方式? 私人的Int32? GetNullableInt32(SqlDataReader的DataReader的,诠释字段索
..
2可空布尔(?布尔),但它的 我申请经营( &放大器;&)是给我的错误 运营商&放大器;&安培; 不能被应用到操作数类型布尔?和布尔? 我该如何申请和操作我的声明,其中包含两个可为空的bool? 另外,如果我有一个对话的结果像 dialog.ShowDialog()== DialogResult.OK 我怎样才能将其转换为可空布尔,因为我需要把'
..
我有两个可空datetime对象,我想比较两者。 ?什么是做到这一点的最好办法 我已经尝试: DateTime.Compare(出生日期,雇佣日期); 这是给了一个错误,键入系统也许期待日期。 。日期时间和我有可空日期时间 我也尝试: 生日> HIREDATE ... 但结果并不如预期......有什么建议? 解决方案
..
考虑下面的代码: 日期时间T = DateTime.Today; 布尔isGreater = T>空值; 使用Visual Studio 2010(C#4,.NET 4.0),我得到以下警告: 警告CS0458:表达式的结果总是类型的'空'布尔?“ 这是不正确;结果总是 假 (类型为布尔): 现在,该结构的DateTi
..
我读有关MVVP模式的文章,如何用WPF实现它。在源代码中有多个行,我想不通其中的问号代表什么。 私人的DateTime? _值; 什么的?指的是在定义?我试图找到它从VS的帮助,但失败了。 解决方案 这是一个空值。结构,默认情况下,不能为空的,他们必须有一个值,所以在C#2.0中,可空< T> 类型被引入到.NET Framework。
..
我想知道为什么可空< T> 是值类型,如果它被设计成模仿引用类型的行为?我理解一些GC的压力,但我不觉得相信 - 如果我们希望有 INT 演技类似的参考,我们大概有具有实际参考的一切后果OK类型。我看不出有什么理由可空< T> 不仅仅是盒装 T 结构的版本 作为值类型: 它仍然需要进行装箱和拆箱,多,拳击必须是比“正常”的结构(对待空值可为空像真正的空) 它需
..
在我的数据库,表中的之一,我有允许空值GUID列。我有一个GUID的方法?参数,在表中插入一个新的数据行。然而,当我说myNewRow.myGuidColumn = myGuid我得到以下错误:“无法隐式转换类型'?的System.Guid'到'的System.Guid'” 解决方案 在ADO.NET API有一些问题,当涉及到处理空值类型(也就是说它根本无法正常工作)。我们已经没有任何与
..
说我有接受一个int为一个字符串,返回整数,如果解析成功或空值,否则的方法。 诠释? ParseValue(字符串intAsString) { INT I; 如果(int.TryParse(intAsString,出一)) 回报我; 返回NULL; } 如何这种方法被重新编写,以便它不仅适用与诠释?,而且还长?十进制?和日期时间? ? 解决方案 这很有趣
..