TryGetValue
Метод предоставляет значение указанного ключа строки подключения.
Метод TryGetValue позволяет безопасно извлекать значение ключа из строки подключения, не требуя предварительной проверки его существования в строке.
При запросе значения несуществующего ключа исключение не генерируется, для него возвращается null-значение.
Синтаксис
public override bool TryGetValue(
string keyword,
out Object value
);
keyword – имя ключа.
value – возвращаемое текущее значение ключа в строке подключения.
Возвращаемое значение
Значение true, если ключевое слово keyword найдено в строке подключения, false – в противном случае.
Исключения
ArgumentNullException
| Null-значение параметра keyword. |
Пример
// C#
using System;
using System.Data;
using System.Data.Common;
class ConnectionStringBuilderSample
{
static void Main()
{
// Создание фабрики классов провайдера
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.LinterClient");
// Создание объекта DbConnectionStringBuilder
DbConnectionStringBuilder builder =
factory.CreateConnectionStringBuilder();
builder.ConnectionString =
"Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
// Вызов метода TryGetValue для нескольких имен ключей.
// Имена ключей конвертируются в синонимы.
DisplayValue(builder, "Data Source");
DisplayValue(builder, "UID");
DisplayValue(builder, "InvalidKey");
DisplayValue(builder, null);
Console.WriteLine();
Console.WriteLine("Нажмите клавишу Ввод для завершения");
Console.ReadLine();
}
private static void DisplayValue(DbConnectionStringBuilder builder, string key)
{
object value = null;
// Хотя метод TryGetValue нормально обрабатывает отсутствующие ключи,
// он генерирует ошибку, если имя ключа равно null. Данный пример
// перехватывает эту ошибку, но передает наверх любое другое исключение.
try
{
if (builder.TryGetValue(key, out value))
{
Console.WriteLine("{0}='{1}'", key, value);
}
else
{
Console.WriteLine("Нельзя получить значение для ключа '{0}'", key);
}
}
catch (ArgumentNullException)
{
Console.WriteLine("Нельзя получить значение для ключа null");
}
}
}
Результат выполнения примера:
Data Source='LOCAL'
UID='SYSTEM'
Нельзя получить значение для ключа 'InvalidKey'
Нельзя получить значение для ключа null