flq*_*flq 13 c# windows-runtime windows-store
这是一个接口,取决于我尝试将我维护的事件聚合器MemBus移植到Windows运行时世界:
public interface ISubscriber
{
IDisposable Subscribe<M>(Action<M> subscription);
#if WINRT
[Windows.Foundation.Metadata.DefaultOverload]
#endif
IDisposable Subscribe(object subscriber);
IObservable<M> Observe<M>();
}
Run Code Online (Sandbox Code Playgroud)
我得到的是编译器错误:
"错误WME1031:'
MemBus.ISubscriber.Subscribe<M>(System.Action<M>)'是一种通用方法.Windows运行时方法不能通用."
我只怀疑为什么会这样,如果有人可以澄清,请做.
我的主要问题是:在将代码移植到Windows运行时时,我们应该如何处理这个问题?
泛型有很多更高级别的功能.实际上,我们在Windows运行时使用泛型类(例如List<T>).RT组件应该如何公开泛型类型,如果不是,它是唯一可用的方法,可以回到编写.NET 1.1代码的方式,即对象输入,对象输出和执行转换?
Bre*_*ter 11
您需要从Windows应用商店模板(而不是Windows运行时组件模板)中选择一个类库模板.

这将允许您在Windows应用商店应用中使用完整的C#语言,但不允许其他语言(如C++和JS)使用程序集(因为它们不像C#那样支持泛型).