大家好,初学C#有很多地方不是很明白,现在想实现如下功能:有三个socket类,socketA、socketB、socketC分别为三个文件,三者的关系:1、A与B连接,B收到A的消息后进行处理再发给C;2、C收到B的消息后进行处理,完毕后返回给B;3、B收到C发送的消息处理,再发送给A各自通讯都是长连接,在A类的方法中要调用B与C连接的socket,即要转发消息给C;在C++中只要定义三个全局的socket对象,分别在不同的类中进行全局引用就可以了,但在C#中如何实现比较好呢,希望各位大侠们给予指导

解决方案 »

  1.   

    个人认为与C++中类同,没必要不一样!
    C#与C++在面向对象体系上并没有什么大的区别!下面继续
      

  2.   


    using System;
    using System.Collections.Generic;
    using System.Text;namespace CATest
    {
        class Program
        {
            private static string abc = "This is ABC.";        static void Main(string[] args)
            {
                Console.WriteLine(abc);
                A a = new A();
                Console.WriteLine(abc);
                B b = new B();
                Console.WriteLine(abc);
                Console.ReadLine();
            }
            class A
            {
                public A()
                {
                    abc += ",In Class A";
                }
            }
            class B
            {
                public B()
                {
                    abc += ",In Class B";
                }
            }
        }
    }
    这样可以在类A、B中使用静态变量
      

  3.   

    再定义一个静态类,就可以实现全局变量的功能了。public static class MData
    {
        public static socketA ska;
        public static socketB skb;
        public static socketC skc;
    }MData.ska
      

  4.   

    全部加上Static标识符
    直接就可以和C++里面一样调用