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;
            }

        }
    }
}

たとえば、上記のコードのように (FYI with this code I am gets Expression being assigned to ... must be constant)、そうでない場合は、これと同様のことを行う他の方法があります。

4

2 に答える 2

7

いいえ、それは不可能ですreadonly。コンパイル時に定数値を知る必要があるため、代わりに field を使用できます。

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 に答える