|
|
(3人の利用者による、間の6版が非表示) |
1行目: |
1行目: |
− | [[Windows]]ではEnvironmentクラスのGetFolderPathメソッドを使うと、デスクトップやマイドキュメント、システムディレクトリなどの特殊ディレクトリの絶対パスを取得することができる。 | + | #redirect [[Xamarin.Macで特殊ディレクトリのパスを取得する]] |
− | 同様のことを[[MonoMac]]で行う場合にはNSSearchPathクラスのGetDirectoriesメソッドを使う。
| |
− | | |
− | ちなみにMonoMacでもEnvironmentクラスのGetFolderPathメソッドで色々取得することもできる。
| |
− | マルチプラットフォームでの互換性を考慮すると、可能であればEnvironmentクラスのGetFolderPathメソッドで取得できるものは取得しておいた方がいいかもしれない。
| |
− | | |
− | ==方法1==
| |
− | NSSearchPathクラスのGetDirectoriesメソッドを使い、ユーザーディレクトリ配下のApplication Supportディレクトリ(~/Library/Application Support)を取得するには以下のような感じになる。
| |
− | <source lang="csharp">
| |
− | var appSupportDir = NSSearchPath.GetDirectories(
| |
− | directory : NSSearchPathDirectory.ApplicationSupportDirectory,
| |
− | domainMask: NSSearchPathDomain.User
| |
− | ).FirstOrDefault();
| |
− | </source>
| |
− | NSSearchPathクラスのGetDirectoriesメソッドの[[戻り値]]は[[配列]]なので注意する必要がある。domainMask引数で取得範囲をユーザーディレクトリに限定しているので戻り値は1個しか返ってこないはずであり、[[LINQ]]でFirstOrDefaultしてしまうのが手っ取り早い。
| |
− | | |
− | ===備考1===
| |
− | 上記のApplication Supportディレクトリに[[データ]]を保存する場合はアプリごとにサブディレクトリを作って保存するのが望ましい。一部では企業名などでサブディレクトリを作っている事例も見かける。
| |
− | | |
− | アプリごとにサブディレクトリを作るのであれば、[[MonoMac]]のプロジェクトを作ると必ずある「Info.plist」の内容はNSBundleクラスで取得できるので、Preferencesディレクトリ風(NSUserDefaultsクラスで[[ググれ]])にBundle Identifierで区切ると良い感じかもしれない。
| |
− | <source lang="csharp">
| |
− | var appDataDir = System.IO.Path.Combine(appSupportDir, NSBundle.MainBundle.BundleIdentifier);
| |
− | </source>
| |
− | | |
− | ==方法2==
| |
− | [[.NET Framework]]では標準的なEnvironment.SpecialFolderを使った場合に取得できる値を列挙する。
| |
− | 2015年2月時点での値なので将来的に未対応のものを中心に値が追加される可能性はある。
| |
− | | |
− | {|class="wikitable sortable"
| |
− | |+
| |
− | ! Environment.SpecialFolder列挙体 !! Environment.GetFolderPathの戻り値
| |
− | |-
| |
− | | AdminTools || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | ApplicationData || /Users/monobook/.config
| |
− | |-
| |
− | | CDBurning || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonAdminTools || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonApplicationData || /usr/share
| |
− | |-
| |
− | | CommonDesktopDirectory || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonDocuments || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonMusic || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonOemLinks || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonPictures || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonProgramFiles || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonProgramFilesX86 || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonPrograms || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonStartMenu || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonStartup || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | CommonTemplates || /usr/share/templates
| |
− | |-
| |
− | | CommonVideos || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | Cookies || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | Desktop || /Users/monobook/Desktop
| |
− | |-
| |
− | | DesktopDirectory || /Users/monobook/Desktop
| |
− | |-
| |
− | | Favorites || /Users/monobook/Library/Favorites
| |
− | |-
| |
− | | Fonts || /Users/monobook/Library/Fonts
| |
− | |-
| |
− | | History || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | InternetCache || /Users/monobook/Library/Caches
| |
− | |-
| |
− | | LocalApplicationData || /Users/monobook/.local/share
| |
− | |-
| |
− | | LocalizedResources || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | MyComputer || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | MyDocuments || /Users/monobook
| |
− | |-
| |
− | | MyMusic || /Users/monobook/Music
| |
− | |-
| |
− | | MyPictures || /Users/monobook/Pictures
| |
− | |-
| |
− | | MyVideos || /Users/monobook/Videos
| |
− | |-
| |
− | | NetworkShortcuts || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | PrinterShortcuts || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | ProgramFiles || /Applications
| |
− | |-
| |
− | | ProgramFilesX86 || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | Programs || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | Recent || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | Resources || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | SendTo || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | StartMenu || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | Startup || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | System || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | SystemX86 || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |-
| |
− | | Templates || /Users/monobook/Templates
| |
− | |-
| |
− | | UserProfile || /Users/monobook
| |
− | |-
| |
− | | Windows || style="color:gray" | 未対応、空文字が返ってくる
| |
− | |}
| |
− | | |
− | ==関連項目==
| |
− | | |
− | ==参考文献==
| |
− | {{reflist}}
| |
− | | |
− | {{stub}}
| |
− | | |
− | [[category:MonoMac]]
| |