ファイルパスにいくつかの読み取り専用変数があるとしたら、宣言の順序に基づいて値が割り当てられる順序を保証できますか?
例えば
static readonly string basepath = @"my\base\directory\location";
static readonly string subpath1 = Path.Combine(basepath, @"abc\def");
static readonly string subpath2 = Path.Combine(basepath, @"ghi\klm";
これは安全なアプローチですか、それともbasepath
当時の文字列のデフォルト値のままで、文字列をsubpath1
参照subpath2
する可能性はありますか?
宣言時ではなくコンストラクターで値を割り当てることで、おそらく順序を保証できることに気づきました。ただし、静的クラス内で変数を宣言する必要がある場合 (たとえば、コンストラクターの代わりに static void Main() プロシージャを持つコンソール アプリケーションの Program.cs)、このアプローチは不可能だと思います。
アップデート:
static キーワードを追加しました (これが私が使用しているものであり、コンパイルする理由です) と、提案されている Path.Combine も追加しました。