为什么我不能访问其他类中的公共const c#
本文关键字:const 不能 访问 其他 为什么 | 更新日期: 2023-09-27 18:04:32
我试图在Test.cs中访问我的其他类TerminalStrings.cs中的字符串,但无法....我怎样才能访问它们?
TerminalStrings.cs:
namespace RFID_App
{
class TerminalStrings
{
public static readonly string identiError = "ERROR";
public const string identiSuccess = "SUCCESS";
}
}
在Test.cs: namespace RFID_App
{
class Test
{
public Test()
{
string test;
TerminalStrings stringlist = new TerminalStrings();
test = stringlist.identiError; //this was not possible
}
}
}
const
是隐式静态的,您不能使用实例成员访问它们,而是需要类名来访问。
test = TerminalStrings.identiError;
参见:为什么不能同时使用static和const ?- By Jon Skeet
const
s不是成员变量,它们在类上。
string test = TerminalStrings.identiError;
c#中的常量自动为static
。它们不是实例数据的一部分,而是类本身的一部分——毕竟,stringlist
和stringlist2
没有不同的副本。
访问TerminalStrings.identiError
:
public Test()
{
string test;
test= TerminalStrings.identiError;
}