C# кидает исключение там, где его не может быть
Вне зависимости от того, как я переписываю код, VS2022 кидает CastException.
internal class AddListSlashCommandHandler : ICommandHandler
{
private ModerationMode _moderationMode;
public AddListSlashCommandHandler(SocketSlashCommand command)
{
_moderationMode = ModerationMode.NonModerated;
}
}
Изначально строчка, с присваиванием выглядела так, с этоо все началось:
_moderationMode = (ModerationMode?)(long?)command.Data.Options.FirstOrDefault(op => op.Name == "moderation")?.Value;
ModerationMode
public enum ModerationMode
{
NonModerated = 1,
OnlyWarnings = 1 << 1,
OnlyResend = 1 << 2,
OnlyDelete = 1 << 3
}
Пробовал удалять папку Debug и Release. Переписывать это строку, если ее удалить, исключение кидается на следующей строке. До этого все работало нормально, потом я изменил _moderationMode на nullable тип и понеслось. На скриншоте я уже поменял все обратно, но ошибка как была, так и осталась. Как перезагрузить проект, или если тут все же есть какое-то приведение, как его исправить?
Источник: Stack Overflow на русском