winform中使用yaml配置文件

世上唯一不能复制的是时间,唯一不能重演的是人生,唯一不劳而获的是年龄。该怎么走,过什么样的生活,全凭自己的选择和努力。人生很贵,请别浪费!与智者为伍,与良善者同行。winform中使用yaml配置文件,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1、引入nuget包

  • NetEscapades.Configuration.Yaml
  • Microsoft.Extensions.Configuration.Binder

  引入上面两个包

  winform中使用yaml配置文件

2、新增yaml文件

  可以新增到目录中,也可以放在根目录,我这边新增到了Conf文件夹中。

  创建一个Conf文件夹,然后里面创建一个myconfig.yaml文件。

  winform中使用yaml配置文件

   myconfig.yaml文件内容如下:(表示一个对象数组,具体yaml格式可以自行百度)

BuildPath:
 -
  key: Entity
  path: po
 -
  key: Dao
  path: dao

3、使用

  3.1、配置

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace CodeBuilder
{
    internal static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            // To customize application configuration such as set high DPI settings or default font,
            // see https://aka.ms/applicationconfiguration.
            ApplicationConfiguration.Initialize();

            // 配置yaml读取路径
            var configBuilder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddYamlFile("Conf/myconfig.yaml");
            // 创建服务容器
            var services = new ServiceCollection();
            // 注册配置文件
            services.AddSingleton<IConfiguration>(configBuilder.Build());
        }
    }
}

  3.2、读取

using Microsoft.Extensions.Configuration;

namespace CodeBuilder.Service.Impl
{
    public class EntityFileService: IEntityFileService
    {
        private readonly IConfiguration _configuration;

        public EntityFileService(IConfiguration configuration)
        {
            _configuration = configuration;
        }

        public void BuildEntity()
        {
            // 获取配置生成的路径
            var buildPaths = _configuration.GetSection("BuildPath").Get<List<BuildPathConf>>();
        }
    }

    public class BuildPathConf
    {
        /// <summary>
        /// Key
        /// </summary>
        public string Key { set; get; }
        /// <summary>
        /// Path
        /// </summary>
        public string Path { set; get; }
    }
}

4、验证

  经过打断点调试,yaml文件中的数据已经被成功读取

  winform中使用yaml配置文件

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238766.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!