2017-10-30 23 views
1

c#C#のコード以下

ctx.CreateStreamResponse(stream => new Session(_Sessions, stream).Process(),"video/mp4"); 

であり、iはVB.NETコードと、このコードに必要変換します。何のアクセス 「CreateStreamResponseは」これらの引数で呼び出されることができませんので、エラー

ctx.CreateStreamResponse(Function(stream) New Session(_Sessions, stream).Process(), "video/mp4") 

以下のように変換しかし、取得しています

オーバーロードの解決に失敗しました。

CreateStreamResponseニーズ2つのパラメータ

  1. ストリーム
  2. コンテンツタイプ(私のサンプルとして、「ビデオ/ MP4(私のサンプル関数(ストリーム)新規セッション(_Sessions、ストリーム).Process()など) 「)

誰もが、私は問題はあなたが合格という方法であると思われると信じてください

+0

を参照してくださいさて、プロセス()関数に何か問題があるようです。おそらく、戻り値の型を宣言するための 'As'キーワードがないかもしれません。 –

答えて

1

、私を助けることができますCreateStreamResponseには、Subでなく、Functionである必要があります。すなわち:

ctx.CreateStreamResponse(Sub(stream) New Session(_Sessions, stream).Process(), "video/mp4") 

CreateStreamResponseは、第一引数と第二引数としてStringのcontentTypeのようAction(Of Stream)デリゲートをとります。

このようにあなただけの無効(Subプロシージャ)を返すメソッドをカプセル化することができますActionデリゲートこの場合のようにSubではなくFunctionを使用する必要があります。また、呼び出されているProcessメソッドもSubプロシージャであることを確認してください。

マイクロソフトのドキュメントにより示唆されるように、問題が続く場合:

  1. レビュー方法のためのすべてのオーバーロードと呼び出したい どちらかを決定。
  2. 呼び出しステートメントでは、引数 のデータ型を、目的の定義済みのパラメータのデータ型と一致させてください。 オーバーロード1つまたは複数のデータ型を定義された型に変換するには、CType関数を使用する必要があります。

詳細については、here

関連する問題