So i’ve created a custom class, with idisposable implemented, but for some reason, when trying to use this class in a using statement, it errors out saying that idisposable is not implemented.
the overarching idea here is that i’ve been tasked with cleaning up an application that is basically three hundred or so queries that were written as extremely painful unparameterized string builder queries. the idea i had, instead of trying to do this three hundred times, is to just create the parameterized query text, and then create a class that can hold an array of values that can be then looped through by passing the query text, and parameter array into a function that handles the querying; i’m not sure whats missing here.
https://learn.microsoft.com/en-us/dotnet/visual-basic/misc/bc36010?f1url=%3FappId%3Droslyn%26k%3Dk(BC36010)
Public Class QueryParamClass
Implements IDisposable
Private _ParamName As String
Public Property ParamName() As String
Get
Return _ParamName
End Get
Set(ByVal value As String)
_ParamName = value
End Set
End Property
Private _ParamType As SqlDbType
Public Property ParamType() As SqlDbType
Get
Return _ParamType
End Get
Set(value As SqlDbType)
_ParamType = value
End Set
End Property
Private _ParamData As VariantType
Public Property ParamData() As VariantType
Get
Return _ParamData
End Get
Set(value As VariantType)
_ParamData = value
End Set
End Property
Private disposedValue As Boolean
Protected Overridable Sub Dispose(disposing As Boolean)
If Not disposedValue Then
If disposing Then
' TODO: dispose managed state (managed objects)
End If
' TODO: free unmanaged resources (unmanaged objects) and override finalizer
' TODO: set large fields to null
disposedValue = True
End If
End Sub
' ' TODO: override finalizer only if 'Dispose(disposing As Boolean)' has code to free unmanaged resources
' Protected Overrides Sub Finalize()
' ' Do not change this code. Put cleanup code in 'Dispose(disposing As Boolean)' method
' Dispose(disposing:=False)
' MyBase.Finalize()
' End Sub
Public Sub Dispose() Implements IDisposable.Dispose
' Do not change this code. Put cleanup code in 'Dispose(disposing As Boolean)' method
Dispose(disposing:=True)
GC.SuppressFinalize(Me)
End Sub
End Class
public sub randomtest()
Using Qparam As New List(Of QueryParamClass)
Qparam.Add(New QueryParamClass() With {.ParamName = "", .ParamType = Nothing, .ParamData = ""})
End Using
end sub
I’m expecting this to allow me to have a using property that can pass my information into a function. i could always just run it as a dim as new, but i’m not sure thats going to be effective.
Hideval is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.