У меня есть метод обратного вызова, который вызывает Facebook. К сожалению, цель вызова с использованием этого одного URL-адреса определяется исключительно структурой объекта (json), который передается в теле Почты. Сейчас я думаю о:Есть ли более эффективный синтаксис для mutliple try/catch?
try { Class1 obj1 = JsonConvert.DeserializeObject<Class1>(rawData);
//code to run if data is of Class1 ...
}
catch
{ try { Class2 obj2 = JsonConvert.DeserializeObject<Class2>(rawData);
//code to run if data is of Class2 ...
}
catch
{ Class3 obj3 = JsonConvert.DeserializeObject<Class3>(rawData);
//code to run if data is of Class3...
}
}
Есть ли более чистый способ, чем выше?
Если возможно, было бы целесообразно, чтобы настроить различные конечные точки для каждого типа обновления статуса. В качестве альтернативы, класс сохранит всю возможную информацию, а затем решит, как обрабатывать ее после ее десериализации. – Rob
Есть ли у вас какой-либо способ понять из необработанных данных, какой класс следует десериализовать? Использование исключений для вождения вашего кода следует избегать как можно больше – Steve
Есть ли у вас примеры json? возможно, вы можете узнать, какой тип использовать перед вызовом 'DeserializeObject' –
Nasreddine