[英]static method with private methods within it [C#]
我想制作一个包含静态方法 ConsoleSquare()的 Draw 类 ,并希望将该类中的所有其他方法都隐藏( 私有 )。但是我在标记的位置出现了错误,并且仍然不知道如何解决它们实现相同的想法( 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);
}
}
除非您显式提供实例,否则静态方法无法调用实例方法。 如果要直接从ConsoleSquare
调用, ConsoleSquare
Spaces
和Line
标记为静态。
将它们声明为private static
。
您需要一个实例来调用实例方法。 如果不提供实例,则无法从静态方法调用实例方法。
也使私有方法静态。
我建议您将所有与Draw
相关的方法封装在另一个类中。 不要在其中放置任何静态方法。 在此也让所有方法公开。
定义另一个类; 称之为DrawUI
东西。 让它具有静态方法。 在此静态方法中实例化Draw
类,使用其方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.