C#到Vb.NET代码转换

时间:2017-10-30 13:20:47

标签: vb.net

代码下面的

c#

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

我需要将此代码作为VB.NET代码。我转换如下

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

但是收到错误

  

重载解析失败,因为无法访问   " CreateStreamResponse"可以用这些参数调用。

CreateStreamResponse需要2个参数

  1. Stream(作为我的示例函数(流)新会话(_Sessions,stream).Process())
  2. 内容类型(作为我的样本" video / mp4")
  3. 任何人都可以帮助我,

1 个答案:

答案 0 :(得分:1)

我认为问题似乎是您传入CreateStreamResponse的方法应该是Sub而不是Function。即:

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

CreateStreamResponseAction(Of Stream)委托作为第一个参数,将contentType作为String作为第二个参数。

因此,您需要使用Sub而不是Function,因为在这种情况下,Action委托只能封装返回 void 的方法(子过程) 。另外,请确保调用的Process方法也是Sub过程。

如果问题仍然存在,则按照Microsoft文档的建议:

  
      
  1. 检查方法的所有重载并确定您的方法   想打电话。
  2.   
  3. 在您的调用语句中,创建参数的数据类型   匹配为所需定义的参数的数据类型   超载。您可能必须使用CType函数来转换一个或   更多数据类型到定义的类型。
  4.   

有关详细信息,请参阅 here