Почему, когда я использую dynamic с json.net, я получаю исключение привязки во время выполнения, а затем вызываю метод без приведения, но я могу выполнять назначения без проблем
private static void Main()
{
dynamic json = JObject.Parse("{\"Test\":23}");
var t = json.Test;
int a = t; //Success
Prop = t; //Success
Func(t); //RuntimeBinderException
}
private static void Func(int i){}
private static int Prop { get; set; }
Когда я привожу его к правильному типу, ошибок нет, но я бы предпочел этого не делать. Я что-то не так делаю, это проблема в библиотеке json.net или языковое ограничение.
Изменить: это для решения проблемы, когда я не контролирую сигнатуру методов и не хочу использовать ее при каждом вызове.