sms.SendMessages((object)i,(object)j,(object)k);

解决方案 »

  1.   

    sms.SendMessages(,,)的参数要求是什么?
    若是字符串则:
    P_SMS.SMSClass sms = new P_SMS.SMSClass();
    string i = "1631902";
    string j = "1122";
    string k = "test";
    sms.SendMessages(i,j,k);
    若参数是别的(好像不可能).就进行参数转换!
      

  2.   

    楼主把隐式转型的方向弄错了,是任何类型的数据都可以转为object,而不是object可以转为任何类型
      

  3.   

    我的意思就是,你不能不管参数类型是什么
    比如参数类型如果是int,当你传入的是一个object的时候,就需要转型,而object转型为int是不能隐形转型
      

  4.   

    知道了,向你那样i,j,k都是字符串类型!!
    可以这样写:
    int i=1631902;
    System.Object obj=i;
                                             Good Luck
                                             接分!
      

  5.   

    如果你定义的是object类型的i,j,k
    sendmessage()中的是string类型应该是sendmessage((string)i,(string)j,(string)k,)吧
      

  6.   

    第一,你先要搞清楚SendMessage的参数类型是什么,如果是你自己写的你应该清楚,不过看样子你是调用的现成的DLL,那么你在引用之后可以在对象浏览器中找到他需要的参数类型。
    第二,如果对象浏览器中对SendMessage的参数声明中有ref关键字,则你在调用时也需要使用ref 关键字。
    第三,看样子你原来是使用VB的吧(瞎猜呢)。C#用Object代替VB中的Variant,但C#不能自动转换类型,你必须自己把object类型的变量转换成函数需要的类型(VB中的好日子已经不再了。)
      

  7.   

    sms.SendMessages((相应类型)i,(相应类型)j,(相应类型)k);