如何在C#/ .NET中声明一个常量?

时间:2011-11-14 13:36:52

标签: c# .net constants

我有以下代码:

public class iSito
{
    public const string myVar = "5262";

    public iSito()
    {

    }
}

现在,如果从任何上下文(在我的情况下,是.ascx.cs)我尝试使用iSito.myVar,我无法获得任何价值。

为什么?

3 个答案:

答案 0 :(得分:11)

您的示例是正确的并且应该有效 - consts自动是静态的,因此您可以访问iSito.myVar字段 - 确保您符合完整名称空间,与访问该类所需的相同(或添加适当的名称)使用声明)。

答案 1 :(得分:6)

iSito类是否在另一个DLL /程序集中?如果是这样,您是否重建DLL并重建使用DLL的应用程序?

编译客户端应用程序时,const值在IL中写为文字。如果更改const,则必须重建客户端应用程序。

如果将const更改为只读,会发生什么? (仅用于测试目的)。

答案 2 :(得分:0)

iSito.myVar有效。我试过了。