【发布时间】:2011-08-11 03:23:12
【问题描述】:
我有一个非常奇怪的问题。我正在尝试投射一个对象,即使在调试模式下它显示两个对象相同,它也无法投射。这是代码
if (messageResponse is T)
{
response = (T)messageResponse;
}
在调试模式下,我将鼠标悬停在 is 并且它的计算结果为 true,但它会跳过 if 块并转到 else,现在显示在此处。另外,当我强制执行到 if 块时,我会收到此错误消息
[A]AutoAnything.BusinessServer.Messages.GetConfigurationSettingMessageResponse
1[AutoAnything.BusinessServer.DataObjects.Settings.ApplicationManager.ApplicationSettings] cannot be cast to [B]AutoAnything.BusinessServer.Messages.GetConfigurationSettingMessageResponse1[AutoAnything.BusinessServer.DataObjects.Settings.ApplicationManager.ApplicationSettings] . A型起源于 'AutoAnything.BusinessServer.Messages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 在位置'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files'的上下文'Default'中\root\2dc64af3\f4e18fc8\assembly\dl3\88929564\4b299f15_0bfecb01\AutoAnything.BusinessServer.Messages.DLL'。 B型起源于 'AutoAnything.BusinessServer.Messages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 在位置'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files'的上下文'Default'中\root\2dc64af3\f4e18fc8\assembly\dl3\88929564\4b299f15_0bfecb01\AutoAnything.BusinessServer.Messages.DLL'。
如您所见,对象 [A] 和 [B] 据说是相同的。有没有人见过这个?另外,我正在使用反射来调用上面代码的包含方法。
【问题讨论】:
标签: visual-studio debugging generics types