我附上了一张我想要做的事情的照片.假设我在课堂上有一个T列表
public class MyClass<T>
where T : IMyInterface
{
public List<T> list = new List<T>;
}
Run Code Online (Sandbox Code Playgroud)
现在,另一个类有一个MyClass列表.
public class AnotherClass
{
public List<MyClass<IMyInterface>> list = new List<MyClass<IMyInterface>>;
}
Run Code Online (Sandbox Code Playgroud)
我应该为MyClass提供什么?如果我把T,那么它假设该类中的所有类型都相同,但事实并非如此.如果我把IMyInterface,我无法在访问这些类时将IMyInterface转换为T.
new AnotherClass().list.Add(new MyClass<T>());
Run Code Online (Sandbox Code Playgroud)
现在这里的类型是什么?AnotherClass泛型类型中的列表是IMyInterface,但我要添加的是T,TI希望它是动态的,但它们仍然在IMyInterface下.
我的UWP应用程序在调试时运行完美,但在发布时即时崩溃,我已经将软件包上传到应用程序商店两次,他们告诉我我的应用程序也不能正常工作.解开.NET Native的东西有帮助,但我不确定它是否可以在其他用户的PC上工作,我不知道那是什么,我认为出了问题.
我的其他项目可以完美地运行Release构建,我已经尝试清理所有内容并重新构建但是我得到了同样的错误.
谢谢
编辑:尝试在我的笔记本电脑上运行,卡在启动画面然后得到相同的错误,我甚至尝试删除MainPage构造函数和OnNavigatedTo上的任何内容.
从这里开始,它指出
所有客户端都将使用相同的 URL 与您的服务建立 SignalR 连接(“/signalr”或您的自定义 URL,如果您指定了一个),并且该连接用于服务定义的所有集线器。
与在单个类中定义所有集线器功能相比,多个集线器没有性能差异。
我想这样做的原因只是因为我唯一的集线器正在成为神级,但是,我找不到在 .NET Core 中做多个集线器的方法(同时共享一个连接)。我希望我能这样做,然后我就可以像在 Web API 中那样管理我的代码。
一种可能的解决方案可能会创建多个连接,但我必须在我的客户端管理不同的连接,只是为了防止服务器代码上的上帝类。
从这里开始,有人指出将方法映射到外部类是一种解决方法。这是唯一的解决方法吗?