1

我需要在 Grpc 消息中定义一个字符串数组类型 dataType。不知道该怎么做。现在我正在做

repeated string Title= 1,

这里我需要名称字段作为字符串数组类型。但它显示错误,在其中绑定数据时字段是只读类型:

public override async Task<UserResponse> CreateUser(
    UserModel request, ServerCallContext context)
{
    var eventResponse = new UserResponse();
    var createCmd = new CreateUserCommand
    {
        Model = new UserDto
        {
            Title = request.Title,
            Id = request.Id,
        }
    }
}

在标题中我需要绑定数据

4

1 回答 1

0

从这里生成的代码protoc为您提供如下内容:

private readonly RepeatedField<string> title_ = new RepeatedField<string>();
[DebuggerNonUserCodeAttribute]
public RepeatedField<string> Title {
    get { return title_; }
}

所以:Title确实是只读的。这意味着您应该探索存在哪些 API 可以添加到它,而不是分配它 - 即

var user = new UserDto
{
    Id = request.Id,
}
user.Title.Add(request.Title);
// or AddRange, etc

您仍然可以使用初始化语法:

new UserDto
{
    Id = request.Id,
    Title = { request.Title }
}

(这是一个.Add

于 2020-06-17T15:24:02.607 回答