メソッドに文字列を渡そうとしていて、渡される文字列に基づいて、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に関係なく、というバインディング変数を使用したい場合は、2つのサービスモデルの間で。
私の質問は、動作する共通の基本クラスは何ですか?または、これを行う方法があります。私が見つけた最も近いSystem.ServiceModel.Channels.Bindingされるが、その後、私は、このような
などのエラーが「MaxBufferPoolSize」の定義なし拡張メソッドが含まれていません取得「MaxBufferPoolSize」 'tyepの最初の引数を受け入れますSystem.ServiceModel.Channels.Bindingは」
このようなさまざまなタイプの変数を宣言することはできません。 –
if-thenブロックを汎用メソッドにリファクタリングして、適切なバインディングを返すことができます。つまり、 'public T GetBinding();' –
Tim