今天热门
热点:

自定义类型在库类间传递失败,自定义类型传递


exe文件和dll文件 都包含了一个 bkin.cs

namespace bkcomein
{

     class rece
    {
        public string strInvNo = "";        
        public string strRcbCur = "";
        public string strRcbAmt = "";
     }

   class bk
    {
        public string bkno="";

        public ArrayList receArr = new ArrayList();
        
    }

}

 

在 dll 里有函数

public class cshareap
    { 

       public void GetInfo(ArrayList jobarr)
        {
            bk booking = new bk();

            for (int i = 0; i < jobarr.Count; i++)
            {
                booking = (bk)jobarr[0];

                string strno = booking.bkno;

            }
        }

}

在exe的按钮事件里

 private void ap_Click(object sender, EventArgs e)
{

    ArrayList jobarr = new ArrayList();
    bk booking = new bk();

    rece m_rece = new rece();

                     m_rece.strInvNo = "inv";
            m_rece.strRcbAmt = "1000";
            m_rece.strRcbCur = "HKD";


                booking.receArr.Add(m_rece);

            jobarr.Add(booking);

          cshareap ap = new cshareap();

            ap.GetInfo(jobarr);

}

 

 

运行结果是 在 dll 的

 booking = (bk)jobarr[0]; 这句出错

信息是:无法将类型为“bkinfo.bk”的对象强制转换为类型“bkinfo.bk”


解决方案

只在 dll 中包含 bkin.cs

exe中的bkin.cs删除掉。

www.zrccd.nettrue/topics/20180116/67793.htmlTechArticle自定义类型在库类间传递失败,自定义类型传递 exe文件和dll文件 都包含了一个bkin.cs namespace bkcomein { class rece { public string strInvNo = ; public string strRcbCur = ; public string strRcbAmt = ; } class bk...

相关文章

    暂无相关文章

用户评论

大家都在看