Xamarin.Mac/特殊ディレクトリのパスを取得する

提供: MonoBook
移動: 案内検索

実装:Environment.SpecialFolderを使う[編集]

Xamarin.MacでもEnvironmentクラスのGetFolderPathメソッドで色々と取得することもできる。 マルチプラットフォームでの互換性を考慮すると、EnvironmentクラスのGetFolderPathメソッドで取得可能な特殊ディレクトリであれば、環境依存のAPIよりもこちらを使うのが望ましいと思われる。 以下は2017年2月時点での値なので将来的に未対応のものに値が追加される可能性はある。

Environment.SpecialFolder列挙体 Environment.GetFolderPathの戻り値
Desktop /Users/{ユーザー}/Desktop
Programs
MyDocuments /Users/{ユーザー}
MyDocuments /Users/{ユーザー}
Favorites /Users/{ユーザー}/Library/Favorites
Startup
Recent
SendTo
StartMenu
MyMusic /Users/{ユーザー}/Music
MyVideos /Users/{ユーザー}/Videos
DesktopDirectory /Users/{ユーザー}/Desktop
MyComputer
NetworkShortcuts
Fonts /Users/{ユーザー}/Library/Fonts
Templates /Users/{ユーザー}/Templates
CommonStartMenu
CommonPrograms
CommonStartup
CommonDesktopDirectory
ApplicationData /Users/{ユーザー}/.config
PrinterShortcuts
LocalApplicationData /Users/{ユーザー}/.local/share
InternetCache /Users/{ユーザー}/Library/Caches
Cookies
History
CommonApplicationData /usr/share
Windows
System
ProgramFiles /Applications
MyPictures /Users/{ユーザー}/Pictures
UserProfile /Users/{ユーザー}
SystemX86
ProgramFilesX86
CommonProgramFiles
CommonProgramFilesX86
CommonTemplates /usr/share/templates
CommonDocuments
CommonAdminTools
AdminTools
CommonMusic
CommonPictures
CommonVideos
Resources
LocalizedResources
CommonOemLinks
CDBurning

ちなみに上記の列挙には以下のようなソースコードを用いた。

            foreach (var folder in Enum.GetValues(typeof(Environment.SpecialFolder)))
            {
                var path = Environment.GetFolderPath((Environment.SpecialFolder)folder);
                Console.WriteLine("{0} => {1}", folder, path);
            }

関連項目[編集]

参考文献[編集]