SqlConnectionStringBuilder.TryGetValue(String, Object) 方法

定义

从此 SqlConnectionStringBuilder 中检索与提供的键相对应的值。

public:
 override bool TryGetValue(System::String ^ keyword, [Runtime::InteropServices::Out] System::Object ^ % value);
public override bool TryGetValue (string keyword, out object value);
override this.TryGetValue : string * obj -> bool
Public Overrides 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 方法的行为。

using Microsoft.Data.SqlClient;


class Program
{
    static void Main()
    {
        SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
        builder.ConnectionString = GetConnectionString();

        // Call TryGetValue method for multiple
        // key names. Note that these keys are converted
        // to well-known synonynms for data retrieval.
        DisplayValue(builder, "Data Source");
        DisplayValue(builder, "Trusted_Connection");
        DisplayValue(builder, "InvalidKey");
        DisplayValue(builder, null);

        Console.WriteLine("Press any key to continue.");
        Console.ReadLine();
    }

    private static void DisplayValue(
        SqlConnectionStringBuilder 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
        // passes 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.");
        }
    }

    private static string GetConnectionString()
    {
        // To avoid storing the connection string in your code,
        // you can retrieve it from a configuration file. 
        return "Server=(local);Integrated Security=SSPI;" +
            "Initial Catalog=AdventureWorks";
    }
}

此示例显示以下结果:

Data Source=(local)  
Trusted_Connection=True  
Unable to retrieve value for 'InvalidKey'  
Unable to retrieve value for null key.  

注解

TryGetValue 方法允许开发人员安全地从 SqlConnectionStringBuilder 中检索值,而无需验证提供的键名是否为有效的键名。 由于 TryGetValue 在调用它时不会引发异常,因此传入不存在的键,因此无需在检索其值之前查找键。 使用不存在的键调用 TryGetValue 会将值 null (Nothing 置于 Visual Basic) 参数 value 中。

适用于