2016-10-24 11 views
0

私はC#で私の最初のステップを作っています。プロジェクトを引き継いで、なぜ次のコードが動作するのだろうかと疑問に思っています:C#ファイルパスのスラッシュの代わりにドット

Stream myStream = myAssembly.GetManifestResourceStream("ConfigTool.resources.bg.bmp"); 

私はファイルパスのドットについて疑問に思っています。なぜこれは大丈夫ですか?

Stream myStream = myAssembly.GetManifestResourceStream("ConfigTool\\resources\\bg.bmp"); 

これはうまくいかないと思う。だから私は困惑している。 レコードのディレクトリ構造は次のとおりです。

\ConfigTool\reources\bg.bmp 
\ConfigTool\bin\Debug\myApplication.exe 
+1

「GetManifestResourceStream」のヘルプページからリンクされている[Manifest Resources](https://msdn.microsoft.com/en-GB/Library/ms950960.aspx)のドキュメントを*読んで*読むことができます。 –

+0

@Damien_The_Unbeliever、確かに本当...深呼吸をしてF1の機能にヒットするのではなく、C#パスのスラッシュの代わりにドットを使用して検索する時間を費やしていた。 – user2448122

答えて

2

あなたのディスクのファイル構造は、プロジェクト内の構造をパッケージ化することと同じである/アプリケーション(それは、この構造を定義します)。アプリケーションはファイルからではなくパッケージから(アプリケーションロジック内の)リソースを取得します。これはスラッシュではないドット通知を使用する理由です。

+0

理由を説明してくれてありがとう。 – user2448122

関連する問題