如果有自定义getter,如何添加setter?

时间:2014-01-31 21:37:12

标签: c#

我必须修改一些现有的代码,并且难以置身于getter setter。如何在此代码中添加setter?

public virtual string Sku
{
    get { return Product.Id.Trim(); }
}

1 个答案:

答案 0 :(得分:1)

取决于您在setter中想要做什么。如果要为Product.Id分配值,那么您应该执行以下操作:

public virtual string Sku
{
    get { return Product.Id.Trim(); }
    set { Product.Id = value; }
}

如果您想将其设置为某个私人字段,您可以这样做:

private string _sku; 
public virtual string Sku
{
    get { return Product.Id.Trim(); }
    set { _sku = value; }
}

但是你有一个setter来设置一个特定的字段是有点尴尬,而当你得到它时,你会得到一个完全不同的东西的价值。

最自然的解决方案似乎是:

private string _sku; 
public virtual string Sku
{
    get { return _sku.Trim(); }
    set { _sku = value; }
}

但我不知道您的业务逻辑的确切规则。