我试图将一个字符串传入一个方法,并基于传入的字符串,实例化BasicHttpBinding或WSHttpBinding。以下if语句在我的代码中。C#在if语句中声明变量,通用基类
if(bindingObject == "basic")
{System.ServiceModel.BasicHttpBinding binding = new System.ServiceModel.BasicHttpBinding();}
else
{System.ServiceModel.WSHttpBinding binding = new System.ServiceModel.WSHttpBinding();
此代码给我的错误
“结合”的名字没有出现在目前情况下
从我的研究好像我一定要使用公共基类存在在两个服务模型之间,如果我想使用名为绑定的变量,无论我需要使用哪个ServiceModel。
我的问题是,什么是常见的基类将工作?还是有办法做到这一点。我发现的最接近的是System.ServiceModel.Channels.Binding但后来我得到如
不包含“MaxBufferPoolSize”,没有扩展方法定义的错误“MaxBufferPoolSize”接受tyep的第一个参数“ System.ServiceModel.Channels.Binding”可以发现
你不能像这样声明一个不同类型的变量。 –
你可以重构if - 然后阻塞到一个泛型方法,然后返回适当的绑定。即公共T GetBinding();' –
Tim