【发布时间】:2018-03-22 09:05:27
【问题描述】:
我在我的解决方案中声明了一些静态变量,如下所示,
using System;
using System.Collections.Generic;
using System.Configuration;
namespace SSPWAS.Utilities
{
public class Constants
{
public static string ApproverlevelL1 = "M23";
public static string ApproverlevelL2 = "Cre";
public static string ApproverlevelL3 = "Free34";
public static string ApproverlevelL4 = "CDF";
public static string ApproverlevelL5 = "FM";
}
}
我的问题是,如果我尝试像下面这样设置它,那么我得到的错误是:
非静态字段、方法或 属性
using System;
using System.Collections.Generic;
using System.Configuration;
namespace SSPWAS.Utilities
{
public class Constants
{
public static string ApproverlevelL1 = getLevel("1");
public static string ApproverlevelL2 = getLevel("2");
public static string ApproverlevelL3 = getLevel("3");
public static string ApproverlevelL4 = getLevel("4");
public static string ApproverlevelL5 = getLevel("5");
}
}
public string getLevel(string levelID)
{
string levelName;
//logic here
return levelName;
}
那么我该如何实现呢?
【问题讨论】:
-
你的getLevel方法在哪个类中?
-
getLevel 必须是静态方法
-
如果要将它们用作常量,我建议将您的类成员设为
const而不是静态的,因为它们的值可以在现在声明时更改。要么那个要么static readonly。 -
相当肯定编译器向您显示了正确的错误消息。您在命名空间之外的方法
标签: c# asp.net declaration static-variables