VB.NET文档和异常

时间:2010-06-09 03:49:06

标签: vb.net exception documentation

假设我在VB.NET中有这个子:

    ''' <summary>
    ''' Validates that <paramref name="value"/> is not <c>null</c>.
    ''' </summary>
    '''
    ''' <param name="value">The object to validate.</param>
    '''
    ''' <param name="name">The variable name of the object.</param>
    '''
    ''' <exception cref="ArgumentNullException">If <paramref name="value"/> is <c>null</c>.</exception>
    Sub ValidateNotNull(ByVal value As Object, ByVal name As String)
        If value Is Nothing Then
            Throw New ArgumentNullException(name, String.Format("{0} cannot be null.", name))
        End If
    End Sub

调用此ValidateNotNull(我在C#中称之为)是否合适,还是应该坚持使用Visual Basic术语并将其称为ValidateNotNothing?另外,在我的例外中,说“不能为空”是否合适,或者说“不能无所谓”会更好吗?

我有点像我拥有它的方式,但由于这是Visual Basic,也许我应该使用Nothing。但是由于异常本身被称为ArgumentNullException,因此让消息说“不能没有”感觉很奇怪。

2 个答案:

答案 0 :(得分:4)

我认为你很好地坚持Null。这不是没有先例。例如,.NET框架开发人员没有为VB社区创建String.IsNothingOrEmpty。并且它也不像Null是一个模糊的概念,任何编程或使用数据库超过一周的人都已经看到了它。

考虑到这一点,考虑您的受众是可以的。如果您的代码进入可供其他开发人员使用的类库,那些开发人员可能习惯于将null视为null。另一方面,如果这只是一些只能维护的代码库的一部分,那么查看它的VB人可能会看到“没什么”。尽可能符合标准,但要知道您的语言标准可能不一定是您的消费者的标准。

但如前所述,Null应该没问题。

答案 1 :(得分:1)

  

另外,在我的例外中,它是否合适   说“不能为空”,或者它会是   更好地说“不能没事”?

多个工具(包括我们的VSdocman)接受&lt; see langword =“null”/&gt;。这将产生与MSDN完全相同的文本:“null引用(在Visual Basic中 Nothing ”)。您也可以将其用于其他关键字,例如true,false,abstract等。有关详细信息,请参阅<see> tag syntax