なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

ApiInformation.IsTypePresent に渡す値

前の記事にて、 ApiInformation.IsTypePresenttypeof で指定したのだけれども、
このようなツイートを見かけて心配になったので、試してみました。

あれ、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 にリリースビルドで投げて試してみました。

f:id:MikazukiFuyuno:20160621024929p:plain:w250

とりあえず、 typeof().ToString() でも大丈夫そうな感じでした。
他に Desktop 専用 API などについて書いてあるものないかなと探したら、

Desktop Extension SDK にしかない API を Mobile 上で叩くとどうなるのか – garicchi.com

どうやら、 API は叩けるけども、結果が null になるだけなようなので、
直接文字列での指定と typeof().ToString() は好みの方を使えばいいっぽいです。