静态int主要问题

时间:2013-12-23 17:28:20

标签: c# console-application main

这是控制台计划

情景:

我的c#代码中有很多功能,并设置为Public和Private。我当然有static int Main(string args[])。在int Main我调用一些函数Public和Private,并且当我调试它时就会中断该函数。它说如果main是 static 所以所有函数必须是 static ,但我的函数Public和Private中的代码必须具有“that”函数。如果我使用static int Main更改public int main,则无法完成调试,因为int Main必须是静态的。

首先我说我真的很抱歉提出一个不明确的问题

如果理解我的方案令人困惑,请参阅我的示例代码

namespace Example
{
   class Program
   {
      public class ClassInPublic
      {
          public int Num;
          public string Sentence;
      }

      ClassInPublic DeclaringInstance = new ClassInPublic();

      private void Foo()
      {
          DeclaringInstance.Num = 35;
          DeclaringInstance.Sentence = "Hello World";
          Console.Write("This Private Function! And Assign Variable Value From ClassInPublic Variable");
      }

      private void Foo2()
      {
          Console.Write("This Single Foo didnt have any Instance Class");
      }

      static int Main(string args[])
      {
          Foo();
      }
   }
}

那是我的情况

在其他人的帮助下,我已经建立了这个

namespace Example
{
   class Program
   {
      public static class ClassInPublic
      {
          public int Num;
          public string Sentence;
      }

      ClassInPublic DeclaringInstance = new ClassInPublic();

      private static void Foo()
      {
          DeclaringInstance.Num = 35;
          DeclaringInstance.Sentence = "Hello World";
          Console.Write("This Private Function! And Assign Variable Value From ClassInPublic Variable");
      }

      private static void Foo2()
      {
          Console.Write("This Single Foo didnt have any Instance Class");
      }

      public static int Main(string args[])
      {
          Foo();
      }
   }
}

错误标志现在较低,其余为ClassInPublic

它说我不能宣布

cannot declare instance members in static class
是的,有人可以帮助我克服这个问题吗?

1 个答案:

答案 0 :(得分:0)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Example
{
    class Program
    {

        public void foo()
        {
            Console.WriteLine("This is foo in Class Program");
        }

        static void fooStatic()
        {
            Console.WriteLine("This is Static foo");
        }


        static void Main(string[] args)
        {
            Program fooInstance = new Program();

            fooStatic();
            fooInstance.foo();

        }
    }
}

这是一个小例子。静态函数是每个类一个。当您创建公共或私有函数时,它们存在于每个实例中。

编辑:

以下是我认为你要做的事情:

namespace Example
{
   class Program
   {
      public class ClassInPublic
      {
          static public int Num;
          static public string Sentence;
      }

      ClassInPublic DeclaringInstance = new ClassInPublic();

      private static void Foo()
      {
          ClassInPublic.Num = 35;
          ClassInPublic.Sentence = "Hello World";
          Console.WriteLine("This Private Function! And Assign Variable Value From ClassInPublic Variable");
      }

      private static void Foo2()
      {
          Console.Write("This Single Foo didnt have any Instance Class\n");
      }

      public static int Main(string[] args)
      {
          Foo();
          return 0;
      }
   }
}