如何创建WinRT C#dll api



我正在创建一个应用程序,我想为它提供一个成就系统。我希望这个系统更像是一个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中,这样你就可以调用它,而不必每次都使用这样的大代码块?

我希望这是有道理的。如果没有,请告诉我,我会尝试进一步解释!提前感谢!

您可以创建一个C#windows运行时组件,并将您的API封装在一个类中。然后,您需要将实现您的类的winmd文件(如果您需要winrt API表面支持的C#功能之外的C#功能,则可能还需要与之相关的DLL)发送给客户,并采取步骤将适当的注册信息添加到他们的appx清单中。这应该允许您创建一个其他人可以使用的可重新分发组件。

最新更新