当前位置: 首页 > news >正文

糖果网站是李笑来做的吗wordpress文件夹

糖果网站是李笑来做的吗,wordpress文件夹,wordpress相册支持批量外链,做网站联系我们模板免费在C#编程中#xff0c;对象之间的属性复制和操作是一个常见的需求。为此#xff0c;.NET Framework提供了多种实用工具库#xff0c;如AutoMapper、ValueInjecter和ExpressMapper。这些库通过简化代码#xff0c;提高了开发效率。本文将介绍这些工具库#xff0c;比较它们…在C#编程中对象之间的属性复制和操作是一个常见的需求。为此.NET Framework提供了多种实用工具库如AutoMapper、ValueInjecter和ExpressMapper。这些库通过简化代码提高了开发效率。本文将介绍这些工具库比较它们的特点提供使用示例并总结它们的优缺点帮助开发者选择合适的工具库。 一、适用于属性复制的实用工具库 1、工具库列举 在.NET Framework中有几个常用的工具库可以用于简化对象之间的属性复制和操作。以下是一些常用的库 工具库名称支持的.NET版本安装方式特点AutoMapper.NET Framework 4.x, .NET Core, .NET StandardInstall-Package AutoMapper功能强大社区支持广泛配置灵活ValueInjecter.NET Framework 4.x, .NET Core, .NET StandardInstall-Package Omu.ValueInjecter轻量级简单易用ExpressMapper.NET Framework 4.x, .NET Core, .NET StandardInstall-Package ExpressMapper高效快速代码简洁 2、工具库对比 下面是对这些工具库的详细对比 特性/工具库AutoMapperValueInjecterExpressMapper安装复杂度中等简单简单学习曲线中等低低配置灵活性高低中等性能高中等高社区支持广泛一般一般自定义映射支持支持支持深度克隆支持支持不支持 二、各工具库使用代码示例 1、AutoMapper AutoMapper 是一个功能强大的对象映射库广泛用于企业项目中。下面是一些常用功能的代码示例。 安装 Install-Package AutoMapper使用示例 ① 基本映射 using AutoMapper;public class Source {public string Name { get; set; }public int Age { get; set; } }public class Destination {public string Name { get; set; }public int Age { get; set; } }public class Program {public static void Main(){var config new MapperConfiguration(cfg cfg.CreateMapSource, Destination());var mapper config.CreateMapper();var source new Source { Name Alice, Age 30 };var destination mapper.MapDestination(source);Console.WriteLine($Name: {destination.Name}, Age: {destination.Age});} }② 自定义映射 using AutoMapper;public class Source {public string FirstName { get; set; }public string LastName { get; set; } }public class Destination {public string FullName { get; set; } }public class Program {public static void Main(){var config new MapperConfiguration(cfg {cfg.CreateMapSource, Destination().ForMember(dest dest.FullName, opt opt.MapFrom(src src.FirstName src.LastName));});var mapper config.CreateMapper();var source new Source { FirstName John, LastName Doe };var destination mapper.MapDestination(source);Console.WriteLine($FullName: {destination.FullName});} }2、ValueInjecter ValueInjecter 是一个轻量级的对象映射库适用于简单的属性复制场景。 安装 Install-Package Omu.ValueInjecter使用示例 ① 基本映射 using Omu.ValueInjecter;public class Source {public string Name { get; set; }public int Age { get; set; } }public class Destination {public string Name { get; set; }public int Age { get; set; } }public class Program {public static void Main(){var source new Source { Name Alice, Age 30 };var destination new Destination();destination.InjectFrom(source);Console.WriteLine($Name: {destination.Name}, Age: {destination.Age});} }② 自定义映射 using Omu.ValueInjecter;public class Source {public string FirstName { get; set; }public string LastName { get; set; } }public class Destination {public string FullName { get; set; } }public class CustomInjection : ConventionInjection {protected override bool Match(ConventionInfo c){return c.SourceProp.Name FirstName c.TargetProp.Name FullName;}protected override object SetValue(ConventionInfo c){return ((string)c.SourceProp.Value) ((Source)c.Source).LastName;} }public class Program {public static void Main(){var source new Source { FirstName John, LastName Doe };var destination new Destination();destination.InjectFromCustomInjection(source);Console.WriteLine($FullName: {destination.FullName});} }3、ExpressMapper ExpressMapper 是一个高效的对象映射库适用于需要高性能映射的场景。 安装 Install-Package ExpressMapper使用示例 ① 基本映射 using ExpressMapper;public class Source {public string Name { get; set; }public int Age { get; set; } }public class Destination {public string Name { get; set; }public int Age { get; set; } }public class Program {public static void Main(){Mapper.RegisterSource, Destination();Mapper.Compile();var source new Source { Name Alice, Age 30 };var destination Mapper.MapSource, Destination(source);Console.WriteLine($Name: {destination.Name}, Age: {destination.Age});} }② 自定义映射 using ExpressMapper;public class Source {public string FirstName { get; set; }public string LastName { get; set; } }public class Destination {public string FullName { get; set; } }public class Program {public static void Main(){Mapper.RegisterSource, Destination().Member(dest dest.FullName, src src.FirstName src.LastName);Mapper.Compile();var source new Source { FirstName John, LastName Doe };var destination Mapper.MapSource, Destination(source);Console.WriteLine($FullName: {destination.FullName});} }三、适用于属性复制的工具库优缺点对比 以下是 AutoMapper、ValueInjecter 和 ExpressMapper 的优缺点对比 工具库名称优点缺点AutoMapper功能强大支持复杂的映射场景配置灵活支持自定义映射社区支持广泛文档丰富学习曲线较陡需要时间熟悉配置在一些简单场景中可能显得过于复杂ValueInjecter轻量级使用简单适用于简单的属性复制场景功能相对有限支持复杂映射的能力不强社区支持和文档较少ExpressMapper高效快速性能优异代码简洁易于使用功能相对较少支持的映射场景有限社区支持和文档较少 AutoMapper 是一个功能强大且配置灵活的工具适合处理复杂的映射场景但学习曲线较陡适合需要高级映射功能的项目。ValueInjecter 是一个轻量级、易于使用的工具适合处理简单的属性复制场景但功能有限适合需要简单映射的项目。ExpressMapper 是一个高效快速的工具性能优异适合对性能有较高要求的项目但功能较少适合需要简单高效映射的项目。 四、适用于属性复制的实用工具库总结 在选择适用于属性复制的工具库时需要根据项目的具体需求进行选择。如果需要处理复杂的映射场景推荐使用AutoMapper如果仅需要处理简单的属性复制可以选择ValueInjecter如果对性能有较高要求可以选择ExpressMapper。通过合理选择工具库可以大大简化对象属性复制的代码提高开发效率。
http://www.hkea.cn/news/14319878/

相关文章:

  • 建设好网站怎么付费推广计算机网站建设与开发
  • 长沙网站seo价格北京网页制作设计培训
  • 网站建站主题网站前台图片设置
  • 怎样自己做企业的网站韩国网页设计欣赏
  • 山东网站建设服务商wordpress儿童主题
  • 商务网站建设详细步骤符合seo的网站
  • 没有备案的网站 推广html网页制作作品
  • 南京h5网站开发做网站推广汉狮网络
  • 网站后台用什么程序做php网站建设制作方案
  • 做门户网站用什么系统centoa7 wordpress
  • 收费搭建网站安徽池州做网站的公司
  • 企业网站建设方案书dedecms确定网站风格
  • 网站设计制作推荐手机必备软件100个
  • 网站节约化建设wordpress创建相册
  • 张家界做网站找谁app制作视频教程
  • 网站icp备案流程建设工程指数网站
  • 目前做网站的好处什么网站可以做医疗设备的
  • 小说网站开发 小说网站源码建筑工程类人才招聘
  • 网站上那些兼职网页怎么做卖印花图案设计网站
  • 物业管理系统论文网站关键词优化怎么做
  • 苏州建网站建易网官网
  • 网站建设 7 24中国企业网站开发
  • 如果你会建网站山东省乡镇网站建设
  • 建网站 广州免费的行情网站
  • 求和萝莉做的网站在哪一个网站做社保申报
  • 定制网站开发流程网站针对爬虫爬取做的优化
  • 亳州网站建设公司江西省住房与城乡建设厅网站
  • 北京电商购物网站开发免费制作网站app
  • 汕头潮阳网站建设网络推广的几种方式
  • 楚风网站建设工作室宜兴建设局质监网站