问问题
1181 次
1 回答
0
您可以在官方 Github 存储库中查看示例测试用法。
如果您看那里,您会发现e.Data
应该对其进行解析。然后,您可以根据需要分配它,例如:
public string SetIsVisible(MessageEventArgs e, bool isVisible)
{
JObject body = JObject.Parse(e.Data);
body["item-visible"] = isVisible;
return body.ToString();
}
...然后只需将返回的字符串发送到您的 websocket 中:
ws.Send(SetIsVisible(e, isVisible)); // isVisible is boolean you should assign
PS 如果您想使用静态类型的 DTO,只需生成一个(例如此处):
public partial class OBSSource
{
[JsonProperty("item-id")]
public long ItemId { get; set; }
[JsonProperty("item-name")]
public string ItemName { get; set; }
[JsonProperty("item-visible")]
public bool ItemVisible { get; set; }
[JsonProperty("scene-name")]
public string SceneName { get; set; }
[JsonProperty("update-type")]
public string UpdateType { get; set; }
}
... 接着:
public string SetIsVisible(MessageEventArgs e, bool isVisible)
{
OBSSource obsSource = JsonConvert.DeserializeObject<OBSSource>(e.Data);
obsSource.ItemVisible = isVisible;
return JsonConvert.SerializeObject(obsSource);
}
...然后将其序列化到上面的 websocket 中。
于 2020-01-21T10:19:28.263 回答