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

Bumblebee/Classes/ExColumn.cs

Flow diagram

复制构造函数
Copy Constructor
值列表构造函数
Values List Constructor
名称和值列表构造函数
Name and Values List Constructor
名称,值列表和格式构造函数
Name, Values List and Format Constructor
值列表和格式构造函数
Values List and Format Constructor
获取属性
Get Properties
其他操作
Other Operations
开始
Start
创建 ExColumn 实例
Create ExColumn Instance
选择构造方法
Choose Constructor
复制现有 ExColumn
Copy Existing ExColumn
从值列表创建 ExColumn
Create ExColumn from Values List
从名称和值列表创建 ExColumn
Create ExColumn from Name and Values List
创建带名称,值列表和格式的 ExColumn
Create ExColumn with Name, Values List and Format
从值列表和格式创建 ExColumn
Create ExColumn from Values List and Format
选择操作类型
Choose Operation Type
属性操作
Property Operations
其他操作
Other Operations
获取名称
Get Name
获取格式
Get Format
获取值列表
Get Values
ToString 方法
ToString Method
属性操作完成
Property Operations Completed
其他操作完成
Other Operations Completed
结束
End

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
    }
}
  • 12
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hmywillstronger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值