5

是否可以使用另一个类的方法初始化常量值的值

namespace ConsoleApplication1
{
    class Program
    {
        const int gravit = haha.habc();//something like this
        static void Main(string[] args)
        {
            some codes.....

        }
        public class haha
        {
            int gar = 1;
            public int habc()
            {
                int sa = 1;
                return sa;
            }

        }
    }
}

例如,像上面的代码(仅供参考,我得到的表达式被分配给...必须是常量),如果没有,是否有其他方法可以做类似的事情。

4

2 回答 2

7

不,这是不可能的,您可以使用readonlyfield 代替,因为常量值应该在编译时已知:

private static readonly int gravit = haha.habc();//something like this

注意:habc如果您想以这种方式调用该方法,则该方法应该是静态的。

于 2013-06-17T06:27:34.970 回答
1

常量是在编译时应该知道并且不会改变的值。所以ReadOnly是你应该选择的选项。

private readonly int gravit = haha.habc();
于 2013-06-17T06:28:16.493 回答