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# 功能之外的 C# 功能,可能还有与之关联的 DLL)连同将适当的注册信息添加到他们的步骤一起发送给客户应用程序清单。这应该允许您创建其他人可以使用的可再分发组件。

于 2012-08-26T06:26:01.483 回答