当我的类更新时,如何更新显示文本长度的属性

本文关键字:更新 文本 显示 属性 我的 何更新 | 更新日期: 2023-09-27 18:19:40

我有以下类。注意,有一些关键值没有显示:

namespace Storage.Models
{
    public abstract class AuditableTable 
    {
        public string Title { get; set; }
        public string Text { get; set; }
    }
}

我想将Text属性的长度存储在一个名为TextLength的变量中。当创建类的实例或更新类时,我是否可以自动执行此操作?

当我的类更新时,如何更新显示文本长度的属性

您只需添加一个带有getter的属性:

public abstract class AuditableTable 
{
    public string Title { get; set; }
    public string Text { get; set; }
    public int TextLength
    {
        get { return this.Text.Length; }
    }
}

您不一定需要属性,除非您想记录初始值:

    public int TextLength
    {
        get
        {
            return this.Text.Length;
        }
    }

然而,如果你确实想记录初始长度,你可以这样做:

    string m_Text;
    public string Text
    {
        get
        {
            return m_Text;
        }
        set
        {
            m_Text = value;
            if (m_TextLength == 0)
            {
                m_TextLength = value.Length;
            }
        }
    }
    private int m_TextLength;
    public int TextLength
    {
        get
        {
            return m_TextLength;
        }
    }