ConfigurationManager.AppSettings的使用-2021-02-14

ConfigurationManger的使用

  1. 环境
    .net core 3.1 > .net core 3.1 控制台应用程序
  2. 先引入using System.Configuration;命名空间
    NuGet > System.Configuration.ConfigurationManager 安装
    在这里插入图片描述
    app.config是图表配置文件

下面是一个“简单工厂模式”示例,关于图表库

Program.cs 入口文件

using System;
using System.Configuration;

/// <summary>
/// 简单工厂模式示例
/// 简单图表库工厂
/// </summary>
namespace SimpleChartFactory
{
    class Program
    {
        /// <summary>
        /// 入口
        /// 客户端测试类
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Chart chart;
            #region 不符合开闭原则的代码
            //chart = ChartFactory.GetChart("pie");  //通过静态工厂方法创建产品
            #endregion

            Console.WriteLine("-----------------------以下是开闭原则的代码---------------------------------");
            #region 读取配置文件
            string chartStr = ConfigurationManager.AppSettings["chartType"];
            chart = ChartFactory.GetChart(chartStr);
            #endregion

            chart.Display();

            Console.Read();
        }
    }
}

Chart.cs

namespace SimpleChartFactory
{
    /// <summary>
    /// 图表库
    /// 抽象图表接口,充当产品抽象类
    /// </summary>
    interface Chart
    {
        void Display(); //显示图库
    }
}

ChartFactory.cs

using System;

namespace SimpleChartFactory
{
    /// <summary>
    /// 图表工厂类
    /// </summary>
    class ChartFactory
    {
        //静态工厂方法
        public static Chart GetChart(string type)
        {
            Chart chart = null;
            if (type.Equals("histogram"))
            {
                chart = new HistogramChart();
                Console.WriteLine("初始化设置柱状图!");
            }
            else if (type.Equals("pie"))
            {
                chart = new PieChart();
                Console.WriteLine("初始化设置饼状图!");
            }
            else if (type.Equals("line"))
            {
                chart = new LineChart();
                Console.WriteLine("初始化设置折线图!");
            }
            return chart;
        }
    }
}

HistogramChart.cs

using System;
namespace SimpleChartFactory
{
    /// <summary>
    /// 柱状图类
    /// 充当具体产品类
    /// </summary>
    class HistogramChart : Chart
    {
        public HistogramChart()
        {
            Console.WriteLine("创建柱状图!");
        }
        public void Display()
        {
            Console.WriteLine("显示柱状图!");
        }
    }
}

LineChart.cs

using System;

namespace SimpleChartFactory
{
    /// <summary>
    /// 折线图类
    /// 充当具体产品类
    /// </summary>
    class LineChart : Chart
    {
        public LineChart()
        {
            Console.WriteLine("创建折线图!");
        }
        public void Display()
        {
            Console.WriteLine("显示折线图!");
        }
    }
}

PieChart.cs

using System;

namespace SimpleChartFactory
{
    /// <summary>
    /// 饼状图
    /// 充当具体产品类
    /// </summary>
    class PieChart : Chart
    {
        public PieChart()
        {
            Console.WriteLine("创建饼状图!");
        }
        public void Display()
        {
            Console.WriteLine("显示饼状图!");
        }
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值