我的应用程序中有一个工厂类,但由于我对泛型缺乏了解,我不知道如何创建这种特殊类型的实例。
有人会善意地指出我如何调用这个类以便它返回一个服务......任何帮助都会受到赞赏。
<Window.InputBindings>
<KeyBinding Modifiers="Ctrl" Key="C" Command="{Binding CheckShortcutsCommand}" />
<!-- More KeyBindings and MouseBindings here -->
</Window.InputBindings>
答案 0 :(得分:2)
不知道可以实例化的类的名称......
var service = ServiceFactory<ConcreteImplementationService>.GetSecureService(url, cert);
答案 1 :(得分:1)
由于您使用的是静态方法,因此请使用方法级通用参数:
TService GetSecureService<TService>(string serviceUrl, X509Certificate certificate)
where TService : WebServicesClientProtocol, new()
{
...
return Service<TService>(serviceUrl, certificate);
}
您可能会发现所有方法都将使用此模式,并按照上面调用Service()时的方式传递泛型类型。
MSDN关于通用方法的文章: https://msdn.microsoft.com/en-us/library/twcad0zb.aspx