前の記事にて、 ApiInformation.IsTypePresent
に typeof
で指定したのだけれども、
このようなツイートを見かけて心配になったので、試してみました。
あれ、IsTypePresent に typeof().ToString()したら利用不可なとき死なない? 📚
— ゆたか (@tmyt) 2016 年 6 月 20 日
コードは下の感じ。
private void ButtonBase_OnClick(object sender, RoutedEventArgs e) { if (!ApiInformation.IsTypePresent(typeof(JapanesePhoneticAnalyzer).ToString())) { TextBlock.Text = "サポート外"; return; } var list = JapanesePhoneticAnalyzer.GetWords(TextBox.Text, false); TextBlock.Text = string.Join(string.Empty, list.Select(w => w.YomiText)); }
この中で使っている JapanesePhoneticAnalyzer
は Desktop のみサポートされています。
JapanesePhoneticAnalyzer class - Windows app development
これを、私の MADOSMA にリリースビルドで投げて試してみました。
とりあえず、 typeof().ToString()
でも大丈夫そうな感じでした。
他に Desktop 専用 API などについて書いてあるものないかなと探したら、
Desktop Extension SDK にしかない API を Mobile 上で叩くとどうなるのか – garicchi.com
どうやら、 API は叩けるけども、結果が null
になるだけなようなので、
直接文字列での指定と typeof().ToString()
は好みの方を使えばいいっぽいです。