1

次のような定義を持つ静的リソースを含めるために使用したい静的メソッド(名前空間CommonのクラスCommonHelper内)があります。

public static string GetUrlForStaticResource(
String fileName, String folder="scripts", bool preventCaching=false)

「folder」および「preventCaching」パラメーターはデフォルト値であるため、オプションであることがわかります。.csファイルからメソッドを呼び出すと正常に動作しますが、.aspxで次のことを試みたところ、エラーCS1501が発生しました。メソッド「GetUrlForStaticResource」のオーバーロードは「1」引数を取りません

<div>Example: <%= Common.CommonHelper.GetUrlForStaticResource("test.js") %></div>

すべてのパラメーターを指定すると、正常に機能します。

<div>Example: <%= Common.CommonHelper.GetUrlForStaticResource("test.js", "scripts", false) %>
</div>

私は何が間違っているのですか?オプションのパラメーターは.aspxでは使用できませんか?

4

2 に答える 2

2

私はこれをテストしました、そしてそれは私にとってうまくいきます。静的クラスとして.NET4.0とCommonHelperを使用しました(明示的なコンストラクターはありません)。

次に、Webプロジェクトを.NET2.0に変更しました。プロジェクトがビルドされると、実行時に報告するのと同じエラーが発生します。

于 2012-07-25T23:19:11.983 に答える
1

もちろん、1つのパラメーターのみを受け入れるGetUrlForStaticResourceのオーバーロードを作成し、そこからデフォルト値を使用してプライマリメソッドを呼び出すこともできます。

于 2012-07-24T23:46:35.137 に答える