对方程序无法确定是vb.net,C#.net还是asp.net,但可以肯定的是使用.net2005开发的,我现在要使用C#.net写一个类似接口的winform小程序,要获得对方程序中传递过来的参数,我初步的设想是在我的程序中写一个类来接收。现在的问题就是:我如何使对方程序能调用的我程序中的类并把参数传递给我,在我的类中又如何来接收?

解决方案 »

  1.   

    为什么不把你的代码编译成dll。这样他就可以直接用了
      

  2.   

    A simple way is to use Socket.You can also use:
    WCF (or the older .net remoting)
    Message QueueMore methods:
    Named Pipe
    Shared Memory
    Windows Message
    Database
      

  3.   

    .......你可以用socket套接
    共享内存
    数据库
    共享文件
    或者是message queue
    或者sendmessage等windows api
      

  4.   

    你写的类不是接收参数的么,他调用你的类做什么用,他发送如果用的sendmessage 你可以在WndProc方法里面接收,例如
    SendMessage(this.Handle, Convert.ToInt32(WindowsMessage.WM_USER), IntPtr.Zero, str);protected override void WndProc(ref Message m)
            {
                
                if (m.Msg == Convert.ToInt32(WindowsMessage.WM_USER))
                {                byte[] myBytes = new byte[testBytes];
                    Marshal.Copy(m.LParam, myBytes, 0, testBytes);
                    string myTestResult = Encoding.Default.GetString(myBytes);
                    print(myTestResult);
                }
              
                base.WndProc(ref m);
            }   
    这样就接收到了不知道满足你的要求么  
      

  5.   

    谢谢楼上几位的热心,是我不好,有几点没说清楚。
    1、我调用的那个类是写在类库里的,类库生成的DLL文件,但是那里面有一些参数是读取我程序的配置文件的,包括app.config和一些ini文件,这样会不会有问题?
    2、对方程序传过来的参数很大,可能是要超过500K甚至1M的文本。我用string可以接收吗,string的长度有没有限制的?
      

  6.   

    还有,我用指定字符来分割这个超长string,把它们放在ArrayList中,不知道ArrayList中每一项的长度能够支持多长的string?