GraphQL .NET Core Visual Studio 2019 错误建议

GraphQL .NET Core Visual Studio 2019 wrong suggestions

我正在练习 graphql-dotnet。我创建了一个 PropertyQuery 如下:

public class PropertyQuery : ObjectGraphType
{
    public PropertyQuery(IPropertyRepository propertyRepository)
    {
        Field<ListGraphType<PropertyType>>(
            "properties",
            resolve: context => propertyRepository.GetAll()
        );

        Field<PropertyType>(
            "property"
            , arguments: new QueryArguments(new QueryArgument<IntGraphType> { Name = "id" })
            , resolve: context => propertyRepository.GetById(context.GetArgument<int>("id"))
         );
    }
}

Visual Studio (2019) 的智能感知出现问题。当我传递 Field 方法的 resolve 参数时,智能感知不建议 GetArgumentSource 等... ResolveFieldContext<TSource>,相反,它建议如下:

我很困惑这是visual studio的错误,还是graphql-dotnet库有问题。本人是graphql新手,如果intellisense提示有误,就无法继续练习了

I am confused whether this is a error of visual studio, or the graphql-dotnet library has a problem.

这可能是 VS2019 的一个问题,因为同一项目在 VS2017 中运行良好...

我现在可以在我的机器上重现同样的问题。由于这个问题只有在我们用VS2019开发Graphql包项目的时候才会出现,所以我觉得可能是VS2019 Intellisense的一个问题。 (在VS2017中创建开发项目,一切正常。在VS2019中打开,出现问题)

所以我刚刚在 DC 论坛中报告了这个问题作为解决方法。这是 the link 您可以跟踪它的地方。请访问 link 并对问题进行投票,以便您收到有关进展的通知。希望它能有所帮助:)

感谢您报告此事!这是 C# 完成列表在将 lambda 作为参数传递时推断 lambda 参数类型的方式中的错误。我发布了一个最小的独立复制 here.

在您的示例中,如果包含 description 参数(因此将 resolve 参数与另一侧相应的 resolve 参数对齐),完成应该会按预期工作。你能试试这个吗?