如果c中的值为null,则将默认值赋给object

时间:2015-07-17 08:50:58

标签: c#

我正在尝试仅在值为空时为对象分配默认值

public class TempleListDetails{
    public String strTempleImage{
        get ;
        set{
            if (value == null){
                strTempleImage= "some image path";
            }
        }
    }
}   

它抛出错误说

Error   1   'Project.Entities.strTempleImage.get' must declare a body because it is not marked abstract, extern, or partial 

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

您必须同时实现属性的两个设置AND get-accessors。

public class TempleListDetails
{
    private string strTempleImage;
    public String TempleImage
    {
        get {return strTempleImage;}
        set
        {
            if (value == null)
            {
                strTempleImage= "some image path";
            }
        }
    }
}

答案 1 :(得分:2)

public class TempleListDetails {
    private string _strTemplateImage;

    public String strTempleImage {
        get
        {
            if(_strTemplateImage == null)
                return String.Empty;
            else
                return _strTemplateImage;
        }

        set 
        {
            _strTemplateImage = value ?? "some image path";
        }
    }
}

答案 2 :(得分:1)

像这样改变

private string strTempleImage; // backing field
public String StrTempleImage // note capital "S"
{
     get
     {
         return strTempleImage;
     }

或者,甚至更好:

 get
 {
     return strTempleImage ?? "some image path";
 }

如果从未设置过属性,则返回默认值。