iT邦幫忙

2025 iThome 鐵人賽

DAY 17
1
Software Development

30 天的 .Net gRPC 迷途系列 第 17

Day17 gRPC 進階屬性格式(Oneof)

  • 分享至 

  • xImage
  •  

檔案內使用 oneof 如下,類似 C# 的 Switch case 使用

message StudentResponse {
    oneof status_code {
        Student code = 1;
        Error error = 2;
    }
}

message Student {
  string name = 1;
  string class = 2;
  map<string, int32> scores = 3;
}

message Error {
    int32 code = 1;
    string message = 2;
}

C# 端

StudentResponse response = new StudentResponse();

switch (response.StatusCodeCase)
{
    case StudentResponse.StatusCodeOneofCase.None:
        break;
    case StudentResponse.StatusCodeOneofCase.Code:
        Student std = response.Code;
        break;
    case StudentResponse.StatusCodeOneofCase.Error:
        Error error = response.Error;
        break;
    default:
        break;
}

上一篇
Day16 gRPC 進階屬性格式(Map)
下一篇
Day18 gRPC 進階屬性格式(跨檔案)
系列文
30 天的 .Net gRPC 迷途20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言