다음을 통해 공유


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에 해당하는 값입니다.

반환

연결 문자열에 keyword가 있으면 true이고, 그렇지 않으면 false입니다.

예외

keyword에 null 값(Visual Basic에서는 Nothing)이 포함된 경우

예제

다음 예제에서는 메서드를 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 메서드를 사용하면 개발자가 먼저 메서드를 호출 ContainsKey 할 필요 없이 에서 DbConnectionStringBuilder 값을 안전하게 검색할 수 있습니다. 때문에 TryGetValue 예외가 발생 하지 않으므로 호출 하기, 존재 하지 않는 키를 전달 하는 경우 해당 값을 검색 하기 전에 키를 찾이 필요가 없습니다. 존재하지 않는 키를 사용하여 를 호출 TryGetValue 하면 매개 변수에 null 값(Nothing Visual Basic의 경우)이 value 배치됩니다.

적용 대상

추가 정보