如何从一个 SET 方法 c# 设置两个类属性

本文关键字:设置 两个 属性 一个 SET 方法 | 更新日期: 2023-09-27 18:33:36

假设我有一个代表页面的某个对象的类,该页面有两个属性strTitle存储原始标题的位置和strUrlTitle我想存储URL friendlz标题的位置。我只想在分配strTitle时分配strUrlTitle,因此我使用了以下代码。

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 方法分配两个值?

谢谢

如何从一个 SET 方法 c# 设置两个类属性

您需要创建一个支持字段。现在你的二传手和getter调用自己,导致无限循环:

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

另请参阅我在属性设置器中进入无限循环,如果您搜索"C# 属性设置器无限循环",则可能还有许多其他潜在的重复项。