首页 > 解决方案 > 我可以使用常规 C# 类初始化 gRPC 回复消息重复字段吗?

问题描述

我有一个 gRPC 服务器方法需要在回复消息中返回的对象列表<>。我应该能够将此 List<> 分配给“重复”字段,还是必须将每个实例从 C# 类转换为由 gRPC 生成的生成类?

这是一个例子:

    void Foo(
        List<DocSources.CntyCoverage>     counties,  //regular C# classes
        List<DocServiceGRpc.CntyCoverage> grpcList)  //server-side gRPC generated 
    {
        //What I'd like to be able to to...
        var reply1 = new StateCoverageReply()  //gRPC generated reply message containing 'repeated'
        {  CountyCoverage = { counties }  };
            // Error CS1503  Argument 1: cannot convert 
            // from 'DocSources.CntyCoverage' 
            //   to 'DocServiceGRpc.CntyCoverage'   

        //Using List of gRPC generated classes
        var reply2 = new StateCoverageReply()
        {  CountyCoverage = { grpcList }  };
    }

proto 文件指定了一个“重复”类,称为 CntyCoverage。底层生成的代码根据 DocService GRpc .CntyCoverage定义该字段。

我希望不要在项目周围传递生成类。

我在忽略什么吗?为什么我不能使用 C# 类构造 gRPC 回复消息?

标签: c#.net-coregrpc

解决方案


推荐阅读