Не могу воспроизвести стек вызовов в одной из моих программC#

Место общения программистов C#
Ответить
Anonymous
 Не могу воспроизвести стек вызовов в одной из моих программ

Сообщение Anonymous »

Я столкнулся с проблемой при работе с моим приложением. Я подозреваю, что рабочая версия может не полностью соответствовать версии в моем репозитории, но я не совсем уверен.
Каждый день я получаю по электронной почте сводку, включающую следующий стек вызовов:

Код: Выделить всё

2024-09-17 13:15:06.697 +02:00 [Warning] Error parsing filename parts for file "C:\temp.txt".
System.ArgumentException: Requested value 'CHCR' was not found.
at System.Enum.TryParseByName(RuntimeType enumType, ReadOnlySpan`1 value, Boolean ignoreCase, Boolean throwOnFailure, UInt64& result)
at System.Enum.TryParse(Type enumType, ReadOnlySpan`1 value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
at System.Enum.TryParse(Type enumType, String value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
at Application.GetFileNameParts(String file) in C:\Application\FileResolver.cs:line 229
Однако, когда я просматриваю метод GetFileNameParts в своем коде (через IL Spy), я не вижу явного вызова System.Enum.TryParse. Код вызывает только System.Enum.Parse, чего я и ожидаю. Ниже приведен соответствующий фрагмент кода:

Код: Выделить всё

try {
FilePart fileParts = new();
string messageType = "CHCR";
fileParts.MessageType = (FileMessageType)Enum.Parse(typeof(FileMessageType), messageType, true);
} catch (Exception e) {
_log.LogWarning(e, "Error parsing filename parts for file {file}.", file);
return null;
}
Я пытаюсь понять, как System.Enum.TryParse появляется в трассировке стека, когда я использую Enum.Parse. Может ли это быть какое-то несоответствие версий или есть что-то еще, что я могу упустить из виду?
Все подробности, которые я предоставил, приведены в разделе выше.

Подробнее здесь: https://stackoverflow.com/questions/789 ... y-programs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»