説明:
たとえば、UnityのMenuItem機能を使用していたときに、「機能引数は、機能パラメータータイプの定数式、typeof式、または配列作成式である必要があります」というエラーを報告しました。
いくつかのポジショニングの後、理由は私の文字列がconstで定義されていないためです。特性については、実際のパラメーターは定数値である必要があり、私が定義するのは変数です。さらに、読み取り専用はありません。宣言。使用すると、理由がわかります。C#ナレッジシリーズ:読み取り専用と定数の違い
public static string CustomEidorMenu = "CustomEidorMenu";
public static readonly string CustomEidorMenu = "CustomEidorMenu";
テスト後、次のコード行は機能しません。C#では、コンパイル時に「+」文字列連結文字列定数のみを決定でき、その他は動的連結です。
[MenuItem($"{EditorConfig.CustomEidorMenu}/window")]
したがって、解決策は次のようになります。
public const string CustomEidorMenu = "CustomEidorMenu";
[MenuItem(EditorConfig.CustomEidorMenu + "/window")]