Getmethod Invoke失败,异常

时间:2015-01-08 11:08:05

标签: c# asp.net ado.net

我试图从我的静态函数调用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   目标)

我怎样才能完成这项工作?我在这里弄错了什么?

1 个答案:

答案 0 :(得分:1)

您需要传递对象实例以在Invoke(sqlConnection, null)上调用该方法。错误消息具有误导性。