diff --git a/src/Discord.Net.Rest/Net/Converters/MessageComponentConverter.cs b/src/Discord.Net.Rest/Net/Converters/MessageComponentConverter.cs index 0f229f33..834333af 100644 --- a/src/Discord.Net.Rest/Net/Converters/MessageComponentConverter.cs +++ b/src/Discord.Net.Rest/Net/Converters/MessageComponentConverter.cs @@ -1,7 +1,6 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; -using System.ComponentModel; namespace Discord.Net.Converters { @@ -21,8 +20,10 @@ namespace Discord.Net.Converters public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var jsonObject = JObject.Load(reader); - var messageComponent = default(IMessageComponent); - switch ((ComponentType)jsonObject["type"].Value()) + var typeProperty = jsonObject["type"].Value(); + + IMessageComponent messageComponent; + switch ((ComponentType)typeProperty) { case ComponentType.ActionRow: messageComponent = new API.ActionRowComponent(); @@ -61,6 +62,8 @@ namespace Discord.Net.Converters case ComponentType.Container: messageComponent = new API.ContainerComponent(); break; + default: + throw new JsonSerializationException($"Unknown component type value '{typeProperty}' while deserializing message component"); } serializer.Populate(jsonObject.CreateReader(), messageComponent); return messageComponent;