这是一个控制台程序
场景:
我的 c# 代码中有很多函数,并设置为公共和私有。我当然有static int Main(string args[])
。在int Main
中,我调用了一些函数 Public 和 Private,当我调试它时会中断函数。它说如果 main 是静态的,那么所有函数都必须是静态的,但我在函数 Public 和 Private 中的代码必须具有"那个"函数。如果我用public int main
更改static 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
有人可以帮助我克服这个问题吗?
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 Classn");
}
public static int Main(string[] args)
{
Foo();
return 0;
}
}
}