我试图从我的静态函数调用get_ConnectionString方法。但我得到例外。
我的代码如下
PropertyInfo[] myPropertyInfo;
var ss = Type.GetType("System.Data.SqlClient.SqlConnection,System.data, version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", false, true);
myPropertyInfo = ss.GetProperties();
for (int i = 0; i < myPropertyInfo.Length; i++)
{
System.IO.StreamWriter sw = System.IO.File.AppendText("C:\\Temp\\out.txt");
if(myPropertyInfo[i].GetMethod.ToString().Contains("get_ConnectionString") == true)
{
var obj1 = myPropertyInfo[i].GetMethod.Invoke(null,null);
sw.WriteLine(obj1);
}
sw.Close();
}
上面的代码应该在out.txt文件中写入连接字符串。但我得到了例外
System.Reflection.TargetException:Object与目标类型不匹配。在System.Reflection.RuntimeMethodInfo.CheckConsistency(Object 目标)
我怎样才能完成这项工作?我在这里弄错了什么?
答案 0 :(得分:1)
您需要传递对象实例以在Invoke(sqlConnection, null)
上调用该方法。错误消息具有误导性。