パラメータ変数がGuid型であることを確認したいと思います。
public ActionResult Edit(Guid id)
{
// if id != Guid print error
}
かなり基本的な質問だと思いますが、ここで立ち往生しています。
ありがとう
パラメータ変数がGuid型であることを確認したいと思います。
public ActionResult Edit(Guid id)
{
// if id != Guid print error
}
かなり基本的な質問だと思いますが、ここで立ち往生しています。
ありがとう
この場合、渡された値がGUIDではない可能性はありません。
GUID
構造体は値型であり、継承することはできません。これは、コンパイラがこのメソッドの引数として受け入れるタイプのみがであるということを意味しGUID
ます。
いつもそうなるでしょう。コンパイラはそれを保証します。
パラメータをとして記述Guid id
することは、タイプのインスタンスGuid
またはのサブタイプのみGuid
をメソッドに渡すことができることを意味します。他のタイプのパラメーターを渡そうとすると、コンパイラーエラーまたは実行時例外が発生します(リフレクションを介してメソッドを呼び出そうとした場合)。
他の人が指摘しているように、Guid
はastruct
であり、サブタイプを持つことはできません。
他の人が述べているように、この特定のシナリオでは、コンパイルによって保証されるため、実際には必要ありません。
ただし、一般的には、このチェックを使用GetType()
して実行する必要があります。typeof
if (id.GetType() != typeof(System.Guid))
{
// Print Error
}