其中包含私有方法的静态方法[C#]

kr8*_*r85 0 c# static-methods

我想作一个 绘制这将有静态方法 ConsoleSquare() ,我想使这个类隐藏(所有其他方法私人).但我在的地方标注了错误,我不知道如何解决,仍然实现相同的想法(ConsoleSquare() - 静态;隐藏所有其他方法)

class Draw {
private string Spaces(int k){
    string str="";
    for(;k!=0;k--)
        str+='\b';
    return str;
    }
private string Line(int n,char c){
    string str="";
    for(;n!=0;n--)
        str+=c;
    return str;
    }
public static void ConsoleSquare(int n,char c){
    string line  = Line(n,c); // ovdje
    string space = c + Spaces(n - 2) + c; //ovdje
    Console.WriteLine(line);
    for (; n != 0; n--)
        Console.WriteLine(space);
    Console.WriteLine(line);
    }
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*sen 9

除非明确提供实例,否则静态方法无法调用实例方法.如果你想直接调用它们,请标记SpacesLine静态ConsoleSquare.

  • 请注意,如果静态方法具有在*上调用它们的实例,则它可以调用实例方法*. (4认同)