0
点赞
收藏
分享

微信扫一扫

【C#】【EXCEL】Bumblebee/Classes/ExColumn.cs

mm_tang 2024-08-30 阅读 24

文章目录

Bumblebee/Classes/ExColumn.cs

Flow diagram

Description

  1. 开始 (Start)
    这是流程的起点。

  2. 创建 ExColumn 实例 (Create ExColumn Instance)
    这对应于代码中的构造函数。

    public class ExColumn : ExData
    {
        // 构造函数在这里定义
    }
    
  3. 选择构造方法 (Choose Constructor)
    ExColumn 类提供了多个构造函数,对应流程图中的不同分支:

    a. 复制构造函数 (Copy Constructor)

    public ExColumn(ExColumn exColumn) : base(exColumn)
    {
        this.name = exColumn.name;
        this.format = exColumn.format;
        this.values = exColumn.values;
    }
    

    b. 值列表构造函数 (Values List Constructor)

    public ExColumn(List<string> values) : base(DataTypes.Column)
    {
        this.values = values;
    }
    

    c. 名称和值列表构造函数 (Name and Values List Constructor)

    public ExColumn(string name, List<string> values) : base(DataTypes.Column)
    {
        this.name = name;
        this.values = values;
    }
    

    d. 名称、值列表和格式构造函数 (Name, Values List and Format Constructor)

    public ExColumn(string name, List<string> values, string format) : base(DataTypes.Column)
    {
        this.name = name;
        this.format = format;
        this.values = values;
    }
    

    e. 值列表和格式构造函数 (Values List and Format Constructor)

    public ExColumn(List<string> values, string format) : base(DataTypes.Column)
    {
        this.format = format;
        this.values = values;
    }
    
  4. 选择操作类型 (Choose Operation Type)
    创建实例后,可以执行不同类型的操作:

  5. 获取属性 (Get Properties)
    这对应于类中的属性访问器:

    public virtual string Name { get { return name; } }
    public virtual string Format { get { return format; } }
    public virtual List<string> Values { get { return values; } }
    
  6. 其他操作 (Other Operations)
    这主要指 ToString 方法:

    public override string ToString()
    {
        return "Column | r:" + values.Count + " (" + format + ")";
    }
    
  7. 结束 (End)
    流程结束。

这个流程图清晰地展示了 ExColumn 类的生命周期,从创建实例到执行各种操作。它反映了类的设计,包括多个构造函数以适应不同的初始化需求,以及提供的属性和方法。通过这个流程图,我们可以直观地理解 ExColumn 类的结构和功能。

Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bumblebee
{
    /// <summary>
    /// ExColumn 类表示 Excel 中的一列数据
    /// 继承自 ExData 类,专门用于处理列数据
    /// </summary>
    public class ExColumn : ExData
    {
        #region 成员变量

        // 列的名称
        protected string name = string.Empty;
        // 列的格式(默认为 "General")
        protected string format = "General";
        // 存储列中的值
        protected List<string> values = new List<string>();

        #endregion

        #region 构造函数

        /// <summary>
        /// 复制构造函数,创建一个现有 ExColumn 对象的副本
        /// </summary>
        /// <param name="exColumn">要复制的 ExColumn 对象</param>
        public ExColumn(ExColumn exColumn) : base(exColumn)
        {
            this.name = exColumn.name;
            this.format = exColumn.format;
            this.values = exColumn.values;
        }

        /// <summary>
        /// 使用值列表创建 ExColumn 对象
        /// </summary>
        /// <param name="values">列中的值</param>
        public ExColumn(List<string> values) : base(DataTypes.Column)
        {
            this.values = values;
        }

        /// <summary>
        /// 使用名称和值列表创建 ExColumn 对象
        /// </summary>
        /// <param name="name">列的名称</param>
        /// <param name="values">列中的值</param>
        public ExColumn(string name, List<string> values) : base(DataTypes.Column)
        {
            this.name = name;
            this.values = values;
        }

        /// <summary>
        /// 使用名称、值列表和格式创建 ExColumn 对象
        /// </summary>
        /// <param name="name">列的名称</param>
        /// <param name="values">列中的值</param>
        /// <param name="format">列的格式</param>
        public ExColumn(string name, List<string> values, string format) : base(DataTypes.Column)
        {
            this.name = name;
            this.format = format;
            this.values = values;
        }

        /// <summary>
        /// 使用值列表和格式创建 ExColumn 对象
        /// </summary>
        /// <param name="values">列中的值</param>
        /// <param name="format">列的格式</param>
        public ExColumn(List<string> values, string format) : base(DataTypes.Column)
        {
            this.format = format;
            this.values = values;
        }

        #endregion

        #region 属性

        /// <summary>
        /// 获取列的名称
        /// </summary>
        public virtual string Name
        {
            get { return name; }
        }

        /// <summary>
        /// 获取列的格式
        /// </summary>
        public virtual string Format
        {
            get { return format; }
        }

        /// <summary>
        /// 获取列中的值列表
        /// </summary>
        public virtual List<string> Values
        {
            get { return values; }
        }

        #endregion

        #region 方法

        // 这里可以添加其他方法

        #endregion

        #region 重写方法

        /// <summary>
        /// 重写 ToString 方法,提供 ExColumn 对象的字符串表示
        /// </summary>
        /// <returns>描述列的字符串,包括值的数量和格式</returns>
        public override string ToString()
        {
            return "Column | r:" + values.Count + " (" + format + ")";
        }

        #endregion
    }
}
举报

相关推荐

0 条评论