如何在静态类中调用类

时间:2017-02-04 05:32:52

标签: c# static

朋友你好我在一次静态访谈中遇到了这个问题(Myclass)。我有两个clases,一个是M1M2

如何在m1中调用m2,以m2调用m1?以及如何创建静态实例?

static void Main(string[] args)
        {
          //in this Portion How can I call all member if MyClass
        }


     public static class Myclass
                {
                    public static class  M1
                    {
                     //Here How can I call m2
                    }
                    public class m2
                    {
                    //Here How can I call m1
                    }
                }

2 个答案:

答案 0 :(得分:1)

对于静态类M1,您需要使用类名调用。  对于非静态类M2,您需要创建实例。  你可以调用方法/属性,而不是类。

public static class Myclass
    {
       public static void Main(String[] args)
       {
          // call something on  m2
          var m2 = new Myclass.m2();
          m2.A2(); // call m2.A2 method

          // call something on m1
          Myclass.m1.A1();
        }
        public static class M1
        {
            //Here How can I call m2
            public static void A1()
            {
                var m2 = new Myclass.m2(); // create m2instance
                m2.A2(); // call m2
            }
        }
        public class m2
        {
            //Here How can I call m1
            public void A2()
            {
                Myclass.M1.A1(); // called M1.A1
            }

        }
    }

答案 1 :(得分:1)

你不能调用一个类,因为它是静态的,你不能生成那种类型的新类,但你可以像这样轻松地调用它的方法和函数:

public static class Myclass
            {
                public static class  M1
                {
                 public static class Method2(){
                  }
                  new m2().AMethod();
                }
                public class m2
                {
                //Here How can I call m1
                 public static void AMethod(){  
                     //method 
                }
             }
          }

主要是:

static void Main(string[] args)
        {
          new MyClass.m2().AMethod();
          MyClass.M1.Method2();
        }