0

アチーブメント システムが必要なアプリを作成しています。これをアプリにのみ保存するのではなく、システムを API に近づけて、ユーザー情報をデータベースに保存し、このシステムを他のアプリで使用できるようにしたいと考えています。また、Windows 8 の Xbox Live の代わりとして、他の開発者にもこれを提供する可能性があります。

私は、初期のテストと学習を行っているだけです。ボタンのクリックなどで通知を表示するコードがあります。

ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText04;
        XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate);
        XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");
        toastTextElements[0].AppendChild(toastXml.CreateTextNode("Achievement Unlocked! - ICE"));
        toastTextElements[1].AppendChild(toastXml.CreateTextNode("Your First Achievement"));
        toastTextElements[2].AppendChild(toastXml.CreateTextNode("You gained 10IP!"));
        XmlNodeList toastImageAttributes = toastXml.GetElementsByTagName("image");
        ((XmlElement)toastImageAttributes[0]).SetAttribute("src", "http://fc07.deviantart.net/fs28/f/2008/167/b/c/Pipboy_by_nully1.png"); //just a fun test photo
        ((XmlElement)toastImageAttributes[0]).SetAttribute("alt", "red graphic");
        ToastNotification toast = new ToastNotification(toastXml);
        ToastNotificationManager.CreateToastNotifier().Show(toast);

毎回このような大きなコード ブロックを使用せずに呼び出すことができるように、これを dll に入れるにはどうすればよいでしょうか。

それが理にかなっていることを願っています。そうでない場合は、教えてください。さらに説明します。前もって感謝します!

4

1 に答える 1

1

C# Windows ランタイム コンポーネントを作成し、API をクラスにカプセル化できます。次に、クラスを実装する winmd ファイル (および、winrt API サーフェスでサポートされている機能を超える C# 機能が必要な場合は、それに関連付けられている可能性のある DLL) を、適切な登録情報を顧客に追加する手順とともに顧客に出荷する必要があります。 appx マニフェスト。これにより、他のユーザーが使用できる再配布可能なコンポーネントを作成できるようになります。

于 2012-08-26T06:26:01.483 に答える