我有以下代码:
public class iSito
{
public const string myVar = "5262";
public iSito()
{
}
}
现在,如果从任何上下文(在我的情况下,是.ascx.cs)我尝试使用iSito.myVar,我无法获得任何价值。
为什么?
答案 0 :(得分:11)
您的示例是正确的并且应该有效 - consts自动是静态的,因此您可以访问iSito.myVar
字段 - 确保您符合完整名称空间,与访问该类所需的相同(或添加适当的名称)使用声明)。
答案 1 :(得分:6)
iSito类是否在另一个DLL /程序集中?如果是这样,您是否重建DLL并重建使用DLL的应用程序?
编译客户端应用程序时,const值在IL中写为文字。如果更改const,则必须重建客户端应用程序。
如果将const更改为只读,会发生什么? (仅用于测试目的)。
答案 2 :(得分:0)
iSito.myVar有效。我试过了。