string constr = "Data Source=.;Initial Catalog=xhc;Integrated Security=True";
//获取类型中的私有成员
PropertyInfo pInfo = typeof(SqlConnection).GetProperty("InnerConnection", BindingFlags.NonPublic | BindingFlags.Instance);
object obj1 = null;
object obj2 = null;
using (SqlConnection con = new SqlConnection(constr))
{
con.Open();
//获取第一个con中的InnerConnection属性中的值。
obj1 = pInfo.GetValue(con, null);
using (SqlCommand cm = new SqlCommand("select * from TblStudent", con))
{
cm.ExecuteNonQuery();
}
con.Close();
}
Console.WriteLine("===========ok=============");
using (SqlConnection con = new SqlConnection(constr))
{
con.Open();
//获取第二个con中的InnerConnection属性的值。
obj2 = pInfo.GetValue(con, null);
using (SqlCommand cm = new SqlCommand("select * from TblStudent", con))
{
cm.ExecuteNonQuery();
}
con.Close();
}
if (object.ReferenceEquals(obj1, obj2))
{
Console.WriteLine("是同一个对象");
}
else
{
Console.WriteLine("不是同一个对象。");
}
Console.WriteLine("===========ok=============");
Console.ReadKey();
通过反射获取SqlConnection连接池中的连接字符串
最新推荐文章于 2021-01-26 23:01:47 发布