2

CMS ツールを使用して .resx リソース ファイルを生成しています。

スペースや句読点を含むリソース名を作成することに危険はありますか?

この構文を使用してリソースを取得すると、正常に機能します。

GetGlobalResourceObject("myresources", "audio,visual");

ただし、これにより、宣言的なリソース構文でエラーが発生します。たとえば、次のようになります。

<asp:Literal ID="litLastName" runat="server" Text="<%$ Resources: GlobalResources,audio,visual %>"></asp:Literal>

また、Visual Studio で .resx ファイルを編集すると、リソース キーに英数字とアンダースコア以外の文字が含まれていると警告が表示されます。「リソース名は有効な識別子ではありません」と表示されます。

ここで .NET ルールに違反していますか?

4

1 に答える 1

5

リソース キーの一般的なガイドラインは、定義する変数の規則と同じです。

これは、ピリオドの使用が許可されていないことを示す asp.net フォーラムのコメントです。

http://forums.asp.net/t/967741.aspx

resxファイルキーの命名規則の命名規則に関するSOの質問は次のとおりです。

リソース (.resx) ファイル キーの命名規則は?

また、アプリケーションでそれらがどのように使用されているかを考えると、キーにスペースや何か奇妙なものがあると、コードもホースになります。これは、次のコントロールの簡単なチュートリアルに見られるように、テレリック コントロールのようなものにリソース ファイルを使用する場合に特に問題になります。

http://www.telerik.com/help/aspnet-ajax/advancedmultilanguagelocal.html

今あなたがそこに名前を追加していたら

I like to put spaces in resource keys.ChartTitle.TextBlock.Text

まあ、スペースには何か意味があるので、すべてがあちこちで吠えます。

(上記のリンクでも、期間が無効になった理由は明らかです)

パントして言うこともできると思いますが、マイクロソフトの誰かが確かにそれはエラーだと考えているようで、それがビジュアル スタジオがそのエラーを表示している理由です。とはいえ、権威と私たちに対する男性の力に疑問を呈するのは確かに良いことです.

長い目で見れば、これほど型にはまらないことをしなければならない理由はないでしょう。

于 2009-06-10T21:44:36.303 に答える