Я не слишком новичок в VB.Net и его синтаксисе, но я не эксперт.Я работаю над тем, чтобы переписать что-то в VB, которое раньше было в C #, и в то время как я делал это, я столкнулся с «дилеммой».У меня может быть свойство ReadOnly:
Public ReadOnly Property MaximumIndenture()
Get
Try
'If the connection is closed, open it.'
If _dbConnection.State = ConnectionState.Closed Then
_dbConnection.Open()
End If
Dim dictFigureIndenture As Dictionary(Of String, Integer) = New Dictionary(Of String, Integer)
Using dbReader As IDataReader = ExecuteReader("SELECT PART_FIGURE, MAX(PART_INDENTURE) AS 'MAX_INDENT' FROM PARTS GROUP BY PART_FIGURE")
While dbReader.Read()
dictFigureIndenture.Add(dbReader("PART_FIGURE").ToString(), Convert.ToInt32(dbReader("MAX_INDENT").ToString()))
End While
End Using
'If the connection is open, do what you need to and/or close it.'
If _dbConnection.State = ConnectionState.Open Then
_dbConnection.Close()
End If
Return dictFigureIndenture
Catch ex As Exception
'An exception was thrown. Show it to the user so they can report it.'
MessageBox.Show(ex.Message)
'If the connection is open, do what you need to and/or close it.'
If _dbConnection.State = ConnectionState.Open Then
_dbConnection.Close()
End If
Return Nothing
End Try
End Get
End Property
И у меня может быть функция, которая делает то же самое:
Public Function MaximumIndenture() As Integer
Try
'If the connection is closed, open it.'
If _dbConnection.State = ConnectionState.Closed Then
_dbConnection.Open()
End If
Dim dictFigureIndenture As Dictionary(Of String, Integer) = New Dictionary(Of String, Integer)
Using dbReader As IDataReader = ExecuteReader("SELECT PART_FIGURE, MAX(PART_INDENTURE) AS 'MAX_INDENT' FROM PARTS GROUP BY PART_FIGURE")
While dbReader.Read()
dictFigureIndenture.Add(dbReader("PART_FIGURE").ToString(), Convert.ToInt32(dbReader("MAX_INDENT").ToString()))
End While
End Using
'If the connection is open, do what you need to and/or close it.'
If _dbConnection.State = ConnectionState.Open Then
_dbConnection.Close()
End If
Return dictFigureIndenture
Catch ex As Exception
'An exception was thrown. Show it to the user so they can report it.'
MessageBox.Show(ex.Message)
'If the connection is open, do what you need to and/or close it.'
If _dbConnection.State = ConnectionState.Open Then
_dbConnection.Close()
End If
Return Nothing
End Try
End Function
Они оба по сути делают одно и то же, но я неуверен, что будет более приемлемым в сообществе.В конце концов, я хотел бы написать много открытого исходного кода для людей (большинство из них, вероятно, уже написано), но я определенно не хочу, чтобы кто-то считал, что я делаю, это лучшая практика.Кто-нибудь может дать мне непрофессиональное описание того, что лучше использовать и почему?Извините, если это дубликат поста кому-то еще, просто любопытно.Спасибо.