相关疑难解决方法(0)

C#volatile和Nullable

根据文档:http://msdn.microsoft.com/en-us/library/x13ttww7.aspx:

volatile关键字可以应用于引用类型.

那么为什么在Nullable<T>...参考类型上使用是非法的!

请注意,我实际上并不需要在Nullable<T>字段上使用volatile语义,我偶然遇到了这个错误并且只是好奇.

c#

10
推荐指数
1
解决办法
729
查看次数

VB.NET编译器如何选择运行哪个扩展重载?

有一个有趣的奇怪 - 认为有人可能会帮助.

这可以从这个问题的可空类型中获得一些乐趣:

如何检查对象是否可以为空?

Option Strict On

Module Test
  ' Call this overload 1
  <Extension()>
  Function IsNullable(obj As ValueType) As Boolean
    Return False
  End Function

  ' Call this overload 2
  <Extension()>
  Function IsNullable(Of T As {Structure})(obj As Nullable(Of T)) As Boolean
    Return True
  End Function

  Sub Test() 
    ' a is an integer!
    Dim a As Integer = 123

    ' calling IsNullable as an extension method calls overload 1 and returns false
    Dim result1 As Boolean = a.IsNullable()

    ' calling …
Run Code Online (Sandbox Code Playgroud)

.net vb.net extension-methods overloading

7
推荐指数
1
解决办法
546
查看次数

标签 统计

.net ×1

c# ×1

extension-methods ×1

overloading ×1

vb.net ×1