2013-05-15 42 views
-1

当运行该代码我得到的错误:(对象)是一个场,但使用像“方法”

错误1“EPSInvoice_ServiceLibrary.EPS_Service.tr_bl”是“字段”,但使用像“方法”

它好工作在VS.net但我转换为C#。 任何帮助,将不胜感激。 感谢

下面的代码:

public class EPS_Service : IEPS_Service 
    { 
     List<input_params> Users = new List<input_params>(); 
     List<token_data> token_data = new List<token_data>(); 
     public decimal cal; 
     object tr_bl; 
     string branch; 


     public void User_Login(input_params inputparams) 
     { 
      EPS30Ora.EPS30Svr svr = new EPS30Ora.EPS30Svr(); 

       if (svr.LogOnEx("EDEESTE", inputparams.VSID, inputparams.Username, inputparams.Password, "EPS30Ora", ref inputparams.ck) == 0) 
       { 
        try 
        { 
         Users.Add(inputparams); 
         svr.PrepareByMoney(inputparams.ck, 1, inputparams.meter_number, 10, 0, ref cal); 
         tr_bl = svr.GetInvoiceData(inputparams.ck, svr.Confirm(inputparams.ck)); 
         branch = tr_bl(0)(1); 
         token_data.Add(new token_data() { transfer_number = "0000000" }); 
        } 
        catch (System.Runtime.InteropServices.COMException ex) 
        { 

        } 
       } 
     } 
+2

什么'分支= tr_bl(0)(1);'怎么办呢? –

+0

感谢您的回复。这里是GetInvoiceData()的定义:公共虚拟动态GetInvoiceData(字符串ClientKey,串TrnId)EPS30Ora.EPS30SvrClass的 会员。我是C#和vb.net的新手,它很好地声明了一个名为tr_bl的对象,然后用tr_bl(0)(1)来检索它的值。 GetInvoiceData返回发票结构。谢谢你的帮助。 – user2386560

回答

3

你的数组索引需方括号:

branch = tr_bl[0][1]; 
+0

你好。谢谢你的回复。当改变方括号我得到的错误:“无法适用与[]的索引类型为‘对象’的表情我是否需要转换???我是stucked东西感谢 – user2386560

+0

是的,你需要将其转换为任何。返回类型'GetInvoiceData()'具有例如,如果它是类型的二维阵列'int',就需要做'分支=(INT [] [])tr_bl [0] [1];' 。 – qJake

+0

感谢您的回复这里是GetInvoiceData()的定义:公共虚拟动态GetInvoiceData(字符串ClientKey,串TrnId)EPS30Ora.EPS30SvrClass的 会员我是新来的C#和vb.net它工作得很好声明对象命名tr_bl然后用tr_bl检索其值(0)(1)为例。GetInvoiceData返回发票结构基金。感谢您的帮助。 – user2386560

相关问题