在此主题内连接:如何连接字符串从我的类到形式
我试图做与他们的答案相关的解决方案(特别是Jeremy先生的答案),但这个错误不断出现
关键字。cs:KeyWord.KeyWord。关键字'由于其保护级别而无法访问
namespace KeyWord
{
public class KeyWord
{
String[] keywords = { "abstract", "as", "etc." };
}
}
main.cs
// Check whether the token is a keyword.
var keyboardCls = new KeyWord.KeyWord();
String[] keywords = keyboardCls.keywords;
for (int i = 0; i < keywords.Length; i++)
{
if (keywords[i] == token)
{
// Apply alternative color and font to highlight keyword.
rtb.SelectionColor = Color.Blue;
rtb.SelectionFont = new Font("Courier New", 10, FontStyle.Bold);
break;
}
}
我该怎么办?
您需要将keywords
定义为public
public String[] keywords = { "abstract", "as", "etc." };
目前它是private
,这就是为什么不能在类外访问。
访问修饰符(c#编程指南)
类成员,包括嵌套类和结构,可以是public;Protected internal, Protected, internal, private。访问级别类成员和结构成员,包括嵌套类和默认为私有。
请使用以下代码:
public class KeyWord
{
String[] keywords = { "abstract", "as", "etc." };
}
变量默认保护级别为private
。
您应该为Keywords创建如下属性
public String[] Keywords
{
get{return keywords;}
}
它违反了保护,因为变量默认是私有的
尝试将字符串数组设为public:
public class KeyWord
{
public String[] keywords = { "abstract", "as", "etc." };
}
你需要用"public"关键字定义你的类
请确保构造函数是按照公共访问说明符添加的。这可能是这种错误的一个原因。例子:
Customer() {
this.CustomerId = ++counter;
}
Change it to :
public Customer() {
this.CustomerId = ++counter;
}