簡體   English   中英

如何從一個SET方法C#設置兩個類屬性

[英]How do I set two class properties from one SET method c#

假設我有一個表示Page的對象,該對象具有兩個屬性strTitle用於存儲原始標題)和strUrlTitle用於存儲URL標題)。 我只想在分配strUrlTitle時分配strTitle因此我使用了以下代碼。

public class Page
{
    public strUrlTitle {get; private set;}
    public strTitle {
      get
      {
          return strTitle;
      }
      set
      {
          strTitle = value;
          strUrlTitle = HttpUtility.UrlEncode(value.Replace(" ", "-").Trim());
      }
    }
}

但是,似乎當我調用set方法並為其分配strTitle值時,再次調用set方法,最終陷入無限循環。 因此,我的問題是如何從一個get方法分配兩個值?

謝謝

您需要創建一個支持字段。 現在,您的setter和getter會自己調用,從而導致無限循環:

private string _title;  
public Title 
{
    get
    {
        return _title;
    }
    set
    {
        _title = value;
        UrlTitle = HttpUtility.UrlEncode(value.Replace(" ", "-").Trim());
    }
}

public UrlTitle { get; private set; }

另請參見如果您搜索“ C#屬性設置器無限循環”,則我將進入屬性設置器中的無限循環,並且可能還有許多其他潛在的重復項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM