OracleConnectionStringBuilder.TryGetValue(String, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从此 OracleConnectionStringBuilder 中检索与提供的键相对应的值。
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
。
示例
下面的示例演示 了 方法的行为 TryGetValue 。
// You may need to set a reference to the System.Data.OracleClient
// assembly before you can run this sample.
using System.Data.OracleClient;
class Program
{
static void Main()
{
OracleConnectionStringBuilder builder = new OracleConnectionStringBuilder();
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(OracleConnectionStringBuilder builder, string key)
{
object value = null;
// Although TryGetValue handles missing keys,
// it does not 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=OracleDemo;Integrated Security=True";
}
}
' You may need to set a reference to the System.Data.OracleClient
' assembly before you can run this sample.
Imports System.Data.OracleClient
Module Module1
Sub Main()
Dim builder As New OracleConnectionStringBuilder()
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, Nothing)
Console.WriteLine("Press any key to continue.")
Console.ReadLine()
End Sub
Private Sub DisplayValue( _
ByVal builder As OracleConnectionStringBuilder, ByVal key As String)
Dim value As Object = Nothing
' Although TryGetValue handles missing keys just fine,
' 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
Private Function GetConnectionString() As String
' To avoid storing the connection string in your code,
' you can retrieve it from a configuration file.
Return "Server=OracleDemo;Integrated Security=True"
End Function
End Module
注解
方法 TryGetValue 允许开发人员安全地从 OracleConnectionStringBuilder 检索值,而无需验证提供的密钥名称是否为有效的密钥名称。 由于 TryGetValue 正常处理搜索不存在的键,因此无需在检索其值之前查找键是否存在。 使用不存在的键调用 TryGetValue 会将值 null (Nothing
置于 Visual Basic) 参数中 value
。