Private _bgWorker As BackgroundWorker = Nothing
Private _bgWorkerMessage As String = String.Empty
Private _bgPercentComplete As Integer = 0
Private _dictQueries As Dictionary(Of String, String) = New Dictionary(Of String, String)
Public Sub New()
_dictQueries.Add("IPB", "")
_dictQueries.Add("Figure", "")
_dictQueries.Add("Part", "")
_dictQueries.Add("Tags", "")
End Sub
Public Sub New(ByRef bgWorker As BackgroundWorker)
Me.New()
_bgWorker = bgWorker
End Sub
Public Sub New(ByVal dictQueries As Dictionary(Of String, String))
Me.New()
If Not dictQueries.ContainsKey("IPB") Or Not dictQueries.ContainsKey("Figure") Or Not dictQueries.ContainsKey("Part") Or Not dictQueries.ContainsKey("Tags") Then
'I want to throw an exception/warning right here, or make it error out'
End If
_dictQueries = dictQueries
End Sub
Public Sub New(ByRef bgWorker As BackgroundWorker, ByVal dictQueries As Dictionary(Of String, String))
Me.New(bgWorker)
If Not dictQueries.ContainsKey("IPB") Or Not dictQueries.ContainsKey("Figure") Or Not dictQueries.ContainsKey("Part") Or Not dictQueries.ContainsKey("Tags") Then
'I want to throw an exception/warning right here, or make it error out'
End If
_dictQueries = dictQueries
End Sub
Моя цель - создать класс, который может импортировать один и тот же тип и структуру файла в любую базу данных, если установлены соединение и запросы. У нас есть «общая» схема базы данных, но всякий раз, когда мы создаем приложения SQLite, не гарантируется, что разработчик будет использовать ту же схему. Итак, в главном конструкторе я собираюсь определить общие запросы. Но если они определяют запросы, я хочу убедиться, что есть четыре конкретных, поскольку они будут единственными, которые я использую. Теперь я хотел проверить его в конструкторе, чтобы разработчик мог его поймать. Это бессмысленно для пользователя, чтобы поймать его, потому что продукт не должен был быть выпущен. Итак, есть ли способ проверить параметр на конструкторе, чтобы убедиться, что он «действителен». Я знаю, что Visual Studio делает это автоматически с типом, но я не знаю, есть ли способ проверить значения, чтобы убедиться, что они нужны. Все, что я хочу сделать, это бросить предупреждение, а не удержать его от создания (они могут передать значение, которое создается из базы данных, кто знает).Сделать конструктор предупреждать разработчика о неправильной стоимости?
Причина в том, что мы пытаемся сохранить все решения в коде, поэтому, когда мы распространяем продукт, менее вероятно, что конечный пользователь может увидеть логику, лежащую в его основе. Безопасность работы. :) Не мое решение, хотя. :( – XstreamINsanity