检查object属性是否具有指定的值

时间:2015-07-20 11:22:22

标签: c# asp.net oop

我有一个类允许一些属性留空(null)问题是我不知道如何正确检查并继续收到错误。

这是班级:

public class ZoomListItem
{
    public string image { get; set; }
    public string text1 { get; set; }
    public string text2 { get; set; }
    public ZoomAction action { get; set; }
}

以下是我如何使用实例:

@foreach (ZoomListItem item in Model.templates)
{
    var actionUrl = (item.action != null) ? "" : "#";  //error here

类的实例化没有分配动作值,只有文本和图像被赋予值。我在条件行中得到以下错误:

  

System.Web.Mvc.dll中发生了'System.ArgumentException'类型的异常,但未在用户代码中处理

     

附加信息:值不能为空或为空

我是否未使用item.action != null正确检查?

1 个答案:

答案 0 :(得分:1)

您的代码应检查instance Monad ((->) r) where return = const f >>= k = \ r -> k (f r) r 是否为空,但不检查item.action是否为空。在item为空的情况下,将发生空引用异常。你可能想要:

item

这将首先检查var actionURL = (item != null && item.action != null) ? "" : "#"; 是否为空,然后检查item是否为空。

@ Luaan的评论看起来像是包含答案