为什么当我在json.net中使用dynamic时,出现运行时绑定异常,然后调用方法而不进行转换,但是我可以进行赋值就没有问题
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; }
Run Code Online (Sandbox Code Playgroud)
当我将其强制转换为正确的类型时,没有错误,但我希望不必这样做。我在做错什么吗,这是json.net库中的问题还是语言限制?
编辑:这是为了解决一个我无法控制方法签名并且不想在每次调用时都将其强制转换的问题。