非常に基本的な質問ですが、私はC#の初心者です。私は、C#でのクラスのデフォルトのアクセス修飾子が "internal"であることを知っています。これは、同じアセンブリで利用可能であることを意味します。しかし、モデルに2つのパブリック(アクセシビリティ)クラスの従業員と部署があるとします。そうすれば、お互いを参照する必要はありません。しかし、私もコントローラ内のDepartmentControllerとEmployeeControllerがあり、私はEmployeeとDepartmentsクラスを参照する必要がありますが、DepartmentController、EmployeeController Employee、Departmentsはプロジェクト名である同じアセンブリにありません。C#のクラスアクセス修飾子
0
A
答えて
0
彼らは同じ名前空間(MVCDemoコントローラー= MVCDemoモデル。!。)にされていないため、これらのクラスを参照する必要があります。これらのクラスをアセンブリをインポートして別のプロジェクトのスコープにインポートすると、内部クラスではなくパブリッククラスのみが表示されます。モデルをクラスライブラリプロジェクトに移動し、アクセス修飾子を使用してスコープの意味を理解してみることをお勧めします(別のアセンブリを使用して内部クラスをインポートしようとするような)。
0
はい、ソリューションには1つのプロジェクトがあり、プロジェクトには1つのアセンブリがあります。
あなたのコントローラ上のパブリックアクセス修飾子を必要とする理由がここで説明されています...
Why does the ASP.NET MVC Controller class need to be public?
あなたがそれらを可能にするためには、コントローラへのニーズへのアクセスを参照している基本的にMVCフレームワークMVCフレームワークが内部であれば、MVCフレームワークがあなたのコントローラにアクセスすることはできません。
あなたのソリューションには1つのプロジェクトがありますが、他の多くのアセンブリを参照しています。プロジェクト内のいずれか、または参照しているアセンブリから作成されたアセンブリであれば、パブリックアクセス修飾子が必要です。
関連する問題
- 1. クラスアクセス修飾子 - 内部
- 2. python - ネストされたクラスアクセス修飾子
- 3. Scalaのデフォルトのクラスアクセス修飾子を変更してください
- 4. Cの修飾子と修飾子の違いは何ですか?
- 5. アクセス修飾子
- 6. 修飾子
- 7. セッション修飾子
- 8. プロパティ修飾子
- 9. アクセス修飾子
- 10. パッケージプライベートアクセス修飾子
- 11. private修飾子
- 12. Cのprintfのフラグと修飾子
- 13. C#のこのパラメータ修飾子?
- 14. C#のインターフェイスメンバのアクセス修飾子
- 15. プリミティブ型のC++ const修飾子
- 16. のObjective-C相当修飾子
- 17. C#での非同期修飾子
- 18. C#の:アクセス修飾子メソッドを作る
- 19. 修飾子のエラー
- 20. C++リターン型修飾子天国
- 21. OpenGL:レイアウト修飾子?
- 22. Gtk keypress修飾子
- 23. Vue.js - マウスイベント修飾子
- 24. ConcurrentHashMap修飾子の同期
- 25. __device__修飾子の範囲
- 26. マクロ内のコロン修飾子
- 27. テンプレートクラスのconst修飾子コンストラクタ
- 28. "Windows"キーのInputGesture修飾子
- 29. CodeModel修飾子の順番
- 30. デフォルトのアクセス修飾子7
[名前空間](https://msdn.microsoft.com/en-us/library/0d941h9d.aspx)と[アセンブリ](https://msdn.microsoft.com/en)が混在している可能性があります。 -us/library/ms973231.aspx)。 – cubrr
あなたが同じアセンブリにそれらを置くなら、それはそうです。 –
@cubrr自分の投稿に番組の画像を追加しました。 – slowjamsz11