Blazored Typeahead转换方法不工作

Blazored Typeahead转换方法不工作,typeahead,blazored,Typeahead,Blazored,我想使用Blazored.Typeahead componebt,但由于ConvertMethod,它返回以下错误: 严重性代码说明项目文件行抑制状态 错误CS0411无法从用法中推断方法“TypeInference.CreateBlazoredTypeahead_0(RenderTreeBuilder、int、int、Func、int、TValue、int、EventCallback、int、Expression、int、RenderFragment、int、RenderFragment)”的

我想使用Blazored.Typeahead componebt,但由于ConvertMethod,它返回以下错误:

严重性代码说明项目文件行抑制状态 错误CS0411无法从用法中推断方法“TypeInference.CreateBlazoredTypeahead_0(RenderTreeBuilder、int、int、Func、int、TValue、int、EventCallback、int、Expression、int、RenderFragment、int、RenderFragment)”的类型参数。尝试显式指定类型参数


@region.RegionName
@镇名
公营城镇
{
[关键]
公共字符串代码{get;set;}
公共字符串名称{get;set;}
}
公开课区域报告
{
[必需]
公共字符串RegionName{get;set;}
}
受保护的异步任务ConvertTown(Town Town)
{
RegionReport.RegionName=城镇?.Name;
返回等待任务.FromResult(town?.Name);
}
受保护的异步任务GetRegionByTown(字符串townName)
{
return wait RegionService.GetRegionByTown(towname);
}
请问这个代码有什么问题

解决方案

<BlazoredTypeahead SearchMethod="GetRegionByTown" 
                   ConvertMethod="ConvertTown"
                   @bind-Value="RegionReport.RegionName">
    <SelectedTemplate Context="region">@region</SelectedTemplate>
    <ResultTemplate Context="town">@town.Name</ResultTemplate>
</BlazoredTypeahead>
<ValidationMessage For="@(() => RegionReport.RegionName)" />

public class Town
{
    [Key]
    public string Code { get; set; }
    public string Name { get; set; }
}

public class RegionReport
{
    [Required]      
    public string RegionName { get; set; }
}

protected string ConvertTown(Town town)
{
    return town?.Name;
}

protected async Task<IEnumerable<Town>> GetRegionByTown(string townName)
{
   return await RegionService.GetRegionByTown(townName);
}

@区域
@镇名
公营城镇
{
[关键]
公共字符串代码{get;set;}
公共字符串名称{get;set;}
}
公开课区域报告
{
[必需]
公共字符串RegionName{get;set;}
}
受保护城镇(城镇)
{
返回城镇?名称;
}
受保护的异步任务GetRegionByTown(字符串townName)
{
return wait RegionService.GetRegionByTown(towname);
}
<BlazoredTypeahead SearchMethod="GetRegionByTown" 
                   ConvertMethod="ConvertTown"
                   @bind-Value="RegionReport.RegionName">
    <SelectedTemplate Context="region">@region</SelectedTemplate>
    <ResultTemplate Context="town">@town.Name</ResultTemplate>
</BlazoredTypeahead>
<ValidationMessage For="@(() => RegionReport.RegionName)" />

public class Town
{
    [Key]
    public string Code { get; set; }
    public string Name { get; set; }
}

public class RegionReport
{
    [Required]      
    public string RegionName { get; set; }
}

protected string ConvertTown(Town town)
{
    return town?.Name;
}

protected async Task<IEnumerable<Town>> GetRegionByTown(string townName)
{
   return await RegionService.GetRegionByTown(townName);
}