C# 静态int主要问题
这是一个控制台程序 情景: 我的c#代码中有很多函数,设置为公共和私有。当然,我有C# 静态int主要问题,c#,console-application,main,C#,Console Application,Main,这是一个控制台程序 情景: 我的c#代码中有很多函数,设置为公共和私有。当然,我有static int Main(string args[])。在intmain中,我调用了一些函数Public和Private,这会在调试时中断函数。它说,如果main是静态的,那么所有函数都必须是静态的,但我在函数Public和Private中的代码必须具有“that”函数。如果我用我的public int Main更改static int Main,则无法进行调试,因为int Main必须是静态的 首先,我要说
static int Main(string args[])
。在intmain
中,我调用了一些函数Public和Private,这会在调试时中断函数。它说,如果main是静态的,那么所有函数都必须是静态的,但我在函数Public和Private中的代码必须具有“that”函数。如果我用我的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 Class\n");
}
public static int Main(string[] args)
{
Foo();
return 0;
}
}
}
您需要理解什么是
static
。请参阅文档。您的问题非常不清楚。请展示一些实际代码,并强调错误报告的位置,以便我们能够理解问题。我很难解释解决方案,因为这更像是一个课堂问题。但是如果我可以建议你养成一个习惯,永远不要在你写静态main的地方写函数。只需创建一个类并在那里定义所有功能,然后在main中调用该类对象。只是为了养成好习惯。你怎么能让private
或public
超出一个类的范围?main无法引用这些函数-它可以创建类的实例,并调用类上的公共函数。请参阅:静态函数可以具有可访问性修饰符,就像实例方法可以选择省略它们(并使用默认值)一样。不需要Console.ReadKey()