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);
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 = "..."
' 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.