DbConnectionStringBuilder.TryGetValue(String, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает значение, соответствующее заданному ключу, из данного объекта DbConnectionStringBuilder.
public:
virtual bool TryGetValue(System::String ^ keyword, [Runtime::InteropServices::Out] System::Object ^ % value);
public virtual bool TryGetValue (string keyword, out object value);
public virtual bool TryGetValue (string keyword, out object? value);
abstract member TryGetValue : string * obj -> bool
override this.TryGetValue : string * obj -> bool
Public Overridable Function TryGetValue (keyword As String, ByRef value As Object) As Boolean
Параметры
- keyword
- String
Ключ искомого элемента.
- value
- Object
Значение, соответствующее keyword
.
Возвращаемое значение
Значение true
, если значение keyword
найдено в строке подключения. В противном случае — значение false
.
Исключения
keyword
содержит значение NULL (Nothing
в Visual Basic).
Примеры
В следующем примере вызывается TryGetValue метод , демонстрирующий несколько возможных результатов.
static void Main()
{
DbConnectionStringBuilder builder = new DbConnectionStringBuilder();
builder.ConnectionString =
"Provider=sqloledb;Data Source=192.168.168.1,1433;" +
"Network Library=DBMSSOCN;Initial Catalog=pubs;" +
"Integrated Security=SSPI;";
// Call TryGetValue method for multiple
// key names.
DisplayValue(builder, "Provider");
DisplayValue(builder, "DATA SOURCE");
DisplayValue(builder, "InvalidKey");
DisplayValue(builder, null);
Console.ReadLine();
}
private static void DisplayValue(
DbConnectionStringBuilder builder, string key)
{
object value = null;
// Although TryGetValue handles missing keys,
// it doesn't handle passing in a null
// key. This example traps for that particular error, but
// bubbles any other unknown exceptions back out to the
// caller.
try
{
if (builder.TryGetValue(key, out value))
{
Console.WriteLine("{0}={1}", key, value);
}
else
{
Console.WriteLine(@"Unable to retrieve value for '{0}'", key);
}
}
catch (ArgumentNullException)
{
Console.WriteLine("Unable to retrieve value for null key.");
}
}
Sub Main()
Dim builder As New DbConnectionStringBuilder
builder.ConnectionString = _
"Provider=sqloledb;Data Source=192.168.168.1,1433;" & _
"Network Library=DBMSSOCN;Initial Catalog=pubs;" & _
"Integrated Security=SSPI;"
' Call TryGetValue method for multiple
' key names.
DisplayValue(builder, "Provider")
DisplayValue(builder, "DATA SOURCE")
DisplayValue(builder, "InvalidKey")
DisplayValue(builder, Nothing)
Console.ReadLine()
End Sub
Private Sub DisplayValue( _
ByVal builder As DbConnectionStringBuilder, ByVal key As String)
Dim value As Object
' Although TryGetValue handles missing keys,
' it doesn't handle passing in a null (Nothing in Visual Basic)
' key. This example traps for that particular error, but
' bubbles any other unknown exceptions back out to the
' caller.
Try
If builder.TryGetValue(key, value) Then
Console.WriteLine("{0}={1}", key, value)
Else
Console.WriteLine("Unable to retrieve value for '{0}'", key)
End If
Catch ex As ArgumentNullException
Console.WriteLine("Unable to retrieve value for null key.")
End Try
End Sub
В результате выполнения данного образца выдаются следующие результаты:
Provider=sqloledb
DATA SOURCE=192.168.168.1,1433
Unable to retrieve value for //InvalidKey//
Unable to retrieve value for null key.
Комментарии
Метод TryGetValue позволяет разработчикам безопасно получать значение из DbConnectionStringBuilder без необходимости предварительного ContainsKey вызова метода . Так как TryGetValue при его вызове при передаче несуществующего ключа не возникает исключение, вам не нужно искать ключ перед получением его значения. Вызов TryGetValue с несуществующим ключом поместит значение NULL (Nothing
в Visual Basic) в value
параметр .