0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Blazor】ルーティングを別ファイルにまとめて定義

Posted at

Blazor アプリケーションを大規模に構築する際、各ページごとにルーティングを定義していると管理が煩雑になることがあります。そのため、ルーティングを別ファイルにまとめて管理する方法を調査しました。

公式ドキュメントの記述

公式ドキュメントでは、以下のように@attributeを使用してルートを定義する方法が紹介されています。

@attribute [Route(Constants.CounterRoute)]

これを参考に、ルーティングを別ファイルで定義するコードを試してみました。

実装例

以下のように、ルートを定義するための定数を別ファイルに作成しました。

public static class Const
{
    public static string Test = "/test-temp";
}

しかし、このコードを使用すると以下のエラーが発生しました。

CS0182: 属性引数は、定数式、typeof式、または属性パラメータ型の配列の作成式でなければなりません。

エラーの原因と解決法

エラーの原因は、Testフィールドがconstではなくstaticで定義されていたことです。@attributeで使用する値は、コンパイル時に決定される必要があります。そのため、以下のようにconst修飾子を使用して定義を修正しました。

public static class Const
{
-   public static string Test = "/test-temp";
+   public const string Test = "/test-temp";
}

この修正により、エラーが解消され、ルーティングを別ファイルで定義して使用することが可能になりました。

注意点

readonly修飾子を使用してもエラーが発生するため、constを使用してコンパイル時に値が決定されるようにする必要があります。

まとめ

Blazor でルーティングを別ファイルに定義する際には、constを使用して定数を定義することが重要です。これにより、ルーティングの管理が容易になり、大規模なアプリケーションでも効率的に開発を進めることができます。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?