在 gRPC 中无法将枚举值从消息绑定到 dotnet 核心 Dto
In gRPC unable to bind enum values from message to dontnet core Dto
我需要在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,
}
}
}
标题中我需要绑定数据
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
)
我需要在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,
}
}
}
标题中我需要绑定数据
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
)