如何定义一个名称来包括多个类似的名称

如:报表、报表(1)、报表(2),它们都叫报表,如何通过一个代码将他们定义为报表,然后不管是报表(1)还是报表(10)都能被读取到

你说的太抽象了,代码只能实现具体的功能,这么抽象的东西无从下手
你先说说到底是有多个文件名长相差不多
还是有一堆变量名相似
还是一堆类名
还是什么

类似这样的?

img

using System;
using System.Collections.Generic;

namespace LinqTutorial
{
    public class MyProgram
    {
        static void Main(string[] args)
        {
            var reports = new List<Report>
            {
                new ReportA(),
                new ReportB(),
                new ReportC("XXX报表(C)")
            };
            foreach (var report in reports)
            {
                report.Print();
            }
            Console.Read();
        }
    }

    public abstract class Report
    {
        /// <summary>
        /// 报表名称(抽象属性)
        /// </summary>
        public abstract string ReportName { get; }
        /// <summary>
        /// 打印报表的方法(虚方法)
        /// </summary>
        public virtual void Print()
        {
            Console.WriteLine($"打印报表:{ReportName}");
        }
    }

    public class ReportA : Report
    {
        public override string ReportName => "ReportA";
    }
    public class ReportB : Report
    {
        public override string ReportName => "ReportB";

        /// <summary>
        /// 打印报表的方法(虚方法)
        /// </summary>
        public override void Print()
        {
            Console.WriteLine($"重写打印报表的方法:{ReportName}");
        }
    }

    public class ReportC : Report
    {
        public ReportC(string reportName)
        {
            ReportName = reportName;
        }
        public override string ReportName { get; }
    }
}