C# 为什么这些类属性不会显示在视图中,为什么不能在它们上设置断点?
我有一个奇怪的问题,我想不出来。我有一个类似于下面的域对象,有两个自定义getter属性,a在调用时不会在视图中返回任何可见值,b不允许我在它们上设置断点以在执行期间检查它们 注意:关于在自动属性设置器上设置断点还有其他类似的问题-这不是我的问题。我的问题是关于正式声明的get{}属性 下面是我的域模型的外观示例:C# 为什么这些类属性不会显示在视图中,为什么不能在它们上设置断点?,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我有一个奇怪的问题,我想不出来。我有一个类似于下面的域对象,有两个自定义getter属性,a在调用时不会在视图中返回任何可见值,b不允许我在它们上设置断点以在执行期间检查它们 注意:关于在自动属性设置器上设置断点还有其他类似的问题-这不是我的问题。我的问题是关于正式声明的get{}属性 下面是我的域模型的外观示例: public class Program : IProgram { public string Code { get; set; } public string Ti
public class Program : IProgram
{
public string Code { get; set; }
public string Title { get; set; }
public string StatusCode { get; set; }
public DateTime StatusDate { get; set; }
public bool HasCompleted
{
get
{
return (StatusCode == "A" || StatusCode == "B");
}
}
public string HumanizedStatus
{
get
{
switch (StatusCode)
{
case "0": return "Text for 0"; break;
case "1": return "Text for 1"; break;
case "2": return "Text for 2"; break;
case "3": return "Text for 3"; break;
case "4": return "Text for 4"; break;
case "5": return "Text for 5"; break;
case "A": return "Text for A"; break;
case "B": return "Text for B"; break;
case "C": return "Text for C"; break;
case "D": return "Text for D"; break;
case "E": return "Text for E"; break;
case "W": return "Text for W"; break;
default : return "UNKNOWN"; break;
}
}
}
}
此模型附着到视图模型,该视图模型在视图中呈现为一组表行,如下所示:
@foreach (var program in Model.Programs)
{
<tr>
<td>@program.Code</td>
<td>@program.Title</td>
<td>@program.StatusDate</td>
<td>@program.HumanizedStatus</td>
<td>@program.HasCompleted</td>
</tr>
}
并在其上设置一个断点,以检查列表中的第一个程序对象,对于HasCompleted,它还返回false,对于HumanizedStatus,返回null。我还尝试手动设置断点,并收到错误消息IntelliSense找不到指定位置。是否仍要设置断点?。即使我选择“是”,它也不会开火
我可以将它们更改为方法,但AutoMapper会抛出一个错误,我可以通过将它们从映射中排除来解决这个问题,但这就是跳过我不应该跳过的环
属性在接口中声明。我使用的是VS2010,MVC3
非常感谢您的帮助 尝试重新启动visual studio并进行清理。如有必要,移除bin和obj文件夹。我认为这与其说是编码问题,不如说是环境问题。你好,瓦利德,谢谢你的建议。不幸的是,我刚刚清理并重建了解决方案,但它仍然跳过了这些断点,并且属性像以前一样返回false和null。真令人沮丧。。。。。。
if (programs[0].HasCompleted)
{
//nop
}