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?

More than 1 year has passed since last update.

ASP.NET Core3 namespaceとフォルダ名の一致によるエラー記録

Last updated at Posted at 2022-11-25
1 / 2

.NETCore3で起こったエラー“名前空間ですが種類のように使用されています”の対処法

こんにちは!見習いIOTエンジニアのめぐみです。
今回の記事ではASP.NET Core3の勉強中に遭遇したnamespaceに関するエラーとその対処法を記載していきます。
同じようなエラーから抜け出せない方の助けになれば幸いです。

まず、【エラー内容】はこちら↓

CS0118:'Temperature'は名前空間ですが、種類のように使用されています


実際の画面がこちらです

temp01.png


OnGetAsyncメソッドで使いたいTemperature型のリストの宣言に赤線が引かれ、上記のようなエラー内容が表示されています。

.NETCoreの記事があまりないのか、私のようなエラーにはまる方が少ないのか、記事を検索してもなかなか対処法が見つかりませんでした。

原因としては、コード上の"namespace DBChart_Razor.Pages.Temperature"(つまりソリューションの"Pages"中のフォルダ名)と
私がclassとして定義した"Models"の中の"Temperature"の名前が同じだったこと。
Temperature型として認識される前に、名前空間(namespace)として捉えられてしまったようです。


それなら名前空間となるフォルダ名を変えれば・・・!?


ということで以下のように修正しました。

temp00.png
フォルダ名を"Temp"に変え、コードも"namespace DBChart_Razor.Pages.Temp"に変更すると、エラーは消えました。



今回のようにnamespaceとなるフォルダ名とclass名がかち合ってしまった時は、コード上のnamespace部分だけ変えても良いのですが、
.NETCore3ではフォルダ名から自動的にnamespaceを記載してくれるので、やはり初めからフォルダ名をclass名とかぶらないようにつけるのが得策ではないかと学んだ1日でした!

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?