Share via


DbConnectionStringBuilder.TryGetValue(String, Object) Yöntem

Tanım

Bu DbConnectionStringBuilderanahtarından sağlanan anahtara karşılık gelen bir değeri alır.

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

Parametreler

keyword
String

Alınacak öğenin anahtarı.

value
Object

öğesine karşılık gelen keyworddeğer.

Döndürülenler

truebağlantı dizesi içinde bulunduysakeyword, false aksi takdirde.

Özel durumlar

keyword bir null değer (Nothing Visual Basic'te) içerir.

Örnekler

Aşağıdaki örnek yöntemini çağırarak TryGetValue çeşitli olası sonuçları gösterir.

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

Örnekte aşağıdaki sonuçlar görüntülenir:

Provider=sqloledb
DATA SOURCE=192.168.168.1,1433
Unable to retrieve value for //InvalidKey//
Unable to retrieve value for null key.

Açıklamalar

yöntemi, geliştiricilerin TryGetValue önce yöntemini çağırmasına ContainsKey gerek kalmadan değerinden bir değeri güvenli bir DbConnectionStringBuilder şekilde almasını sağlar. TryGetValue Çağırdığınızda, var olmayan bir anahtar geçirerek özel durum oluşturmadığından, değerini almadan önce bir anahtar aramanız gerekmez. Var olmayan bir anahtarla çağırmak TryGetValue , null değeri (Nothing Visual Basic'te) parametresine value yerleştirir.

Şunlara uygulanır

Ayrıca bkz.