以下方法类型描述了将配置信息和数据传递给方法的函数。这种类型的每种方法都可以执行不同的功能。
type FTDataReductionProcess =(PipelineConfiguration,RDDLabeledPoint) => RDDLabeledPoint
上述作品有效。
但我想做的是与众不同。我想先将配置添加到方法中,然后再添加数据。所以我需要讨好。
我认为这样可行:
type FTDataReductionProcess =(PipelineConfiguration)(RDDLabeledPoint) => RDDLabeledPoint
但这会导致编译错误
无法解析符号RDDLabeledPoint
任何建议都将不胜感激
答案 0 :(得分:3)
你想要一个带public async Task<List<string>> PostAsync()
{
if (Request.Content.IsMimeMultipartContent())
{
string uploadPath = HttpContext.Current.Server.MapPath("~/uploads");
MyStreamProvider streamProvider = new MyStreamProvider(uploadPath);
await Request.Content.ReadAsMultipartAsync(streamProvider);
List<string> messages = new List<string>();
foreach(var file in streamProvider.FileData)
{
FileInfo fi = new FileInfo(file.LocalFileName);
messages.Add("File uploaded as " + fi.FullName + " (" + fi.Length + " bytes)");
}
return messages;
}
else
{
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid Request!");
throw new HttpResponseException(response);
}
}
的函数,并返回另一个带PipelineConfiguration
并返回RDDLabeledPoint
的函数。
RDDLabeledPoint
。PipelineConfiguration
并返回RDDLP
”的函数,即:RDDLP
。所有在一起:
(RDDLabeledPoint => RDDLabeledPoint)
由于type FTDataReductionProcess =
(PipelineConfiguration => (RDDLabeledPoint => RDDLabeledPoint))
是右关联的,您也可以写:
=>
顺便说一下:同样适用于函数文字,这给出了一个很好的简洁语法。这是一个较短的例子来说明这一点:
type FTDataReductionProcess =
PipelineConfiguration => RDDLabeledPoint => RDDLabeledPoint