Why does this function not return a value on all code paths?
Consider:
Private Function ViewPropertyCast(ByVal type As String) As String
  Select Case type
    Case "smallint"
      Return "Sho开发者_StackOverflow中文版rt"
    Case "nvarchar"
      Return "String"
    Case "int"
      Return "Integer"
    Case "float"
      Return "Double"
    Case "datetime"
      Return "Date"
    Case "bigint"
      Return "Long"
    Case "ntext"
      Return "String"
    Case "bit"
      Return "Boolean"
    Case "uniqueidentifier"
      Return "Guid"
  End Select
End Function
Why does ViewPropertyCast not return a value on all code paths?
Because if type is none of those things listed, it simply drops to the bottom where nothing is returned.
Try something like:
Private Function ViewPropertyCast(ByVal type As String) As String
    Select Case type
        Case "smallint"
            Return "Short"
        Case "nvarchar"
            Return "String"
        Case "int"
            Return "Integer"
        Case "float"
            Return "Double"
        Case "datetime"
            Return "Date"
        Case "bigint"
            Return "Long"
        Case "ntext"
            Return "String"
        Case "bit"
            Return "Boolean"
        Case "uniqueidentifier"
            Return "Guid"
    End Select
    Return "NoIdea"               ' <-- Added this bit '
End Function
You have no default. What if it matches none of the cases? Add a default that returns an error, or put one after the select. You may be sure you'll never be passed anything else, but the compiler isn't.
You have no default case. If I pass "foo" the function can not return a value.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论