这可能是重复的,但是我不太了解在这种情况下发生了什么。据我所知,每当您尝试从未知的动态对象设置或读取属性时,都会引发此异常。但是,该属性存在。它首先在加载应用程序时向此垃圾邮件发送垃圾邮件,然后在运行以下代码时:
我反序列化的动态对象:
{
"Capacity" : 5,
"AreaType" : "Restaurant",
"Position" : "1, 2",
"Dimension" : "2, 1"
}
我要运行的代码:
int _capacity = int.Parse(_dynamicRoom.Capacity); //This is where the exception is thrown.
Room _restaurantRoom = new Restaurant(_positionAndDimension, _capacity);
(_restaurantRoom as Restaurant).Capacity = _dynamicRoom.Capacity;
我在例外设置菜单中单击了一下,但我想我还原了所有更改。我做错了什么?
部分输出:
'SEZ-5 Hotel Simulation.exe'(CLR v4.0.30319:SEZ-5 Hotel Simulation.exe):已加载'C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ Microsoft.CSharp.resources \ v4。 0_4.0.0.0_nl_b03f5f7f11d50a3a \ Microsoft.CSharp.resources.dll”。模块的构建没有符号。 引发异常:Microsoft.CSharp.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException” 引发异常:Microsoft.CSharp.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException” 引发异常:Microsoft.CSharp.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException” 引发异常:Microsoft.CSharp.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException” 引发异常:Microsoft.CSharp.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException” 引发异常:Microsoft.CSharp.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”
//代码开始运行
//餐厅被发现并被装载
引发的异常:Microsoft.CSharp.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException” 引发异常:Microsoft.CSharp.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException” 抛出异常:System.Core.dll中的“ Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”