C#中Builder生成器模式解决配置电脑的问题详解

这篇文章主要介绍了c#设计模式之builder生成器模式解决带老婆配置电脑问题,简单介绍了生成器模式的概念、功能并结合具体实例形式分析了c#生成器模式解决配电脑问题的步骤与相关操作技巧,需要的朋友可以参考下

本文实例讲述了C#设计模式之Builder生成器模式解决带老婆配置电脑问题。分享给大家供大家参考,具体如下:

一、理论定义

生成器模式 又叫:建造者模式,它  可以 把一个 复杂的对象,分步骤创建。

二、应用举例

需求描述:话说发工资了,打算去岗顶百脑汇  给老婆配置一台电脑。
OK,坐着BRT,就出发了。
到岗顶,一美女扑面而来,面带微笑:先生,请问看中那个品牌,过来看一下嘛!
人家都开口了,盛情难却,就看下吧。

三、具体编码

1.CPU

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// CPU  ///   public class CPU  {    ///     /// CPU品牌    ///     public string Brand { get; set; }    ///     /// CPU系列名    ///     public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

2.主板

主板MotherBoard

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// 主板  ///   public class MotherBoard  {    ///     /// 主板品牌    ///     public string Brand { get; set; }    ///     /// 主板系列名    ///     public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

3.内存条

内存条Memory

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// Memory  ///   public class Memory  {    ///     /// Memory品牌    ///     public string Brand { get; set; }    ///     /// Memory系列名    ///     public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

4.硬盘

硬盘HardDisk

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// HardDisk  ///   public class HardDisk  {    ///     /// HardDisk品牌    ///     public string Brand { get; set; }    ///     /// HardDisk系列名    ///     public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

5.显卡

显卡GraphicCard

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   ///显卡 GraphicCard  ///   public class GraphicCard  {    ///     /// 显卡GraphicCard品牌    ///     public string Brand { get; set; }    ///     /// 显卡GraphicCard系列名    ///     public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

6.显示器

显示器Display

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// Display  ///   public class Display  {    ///     /// 显示器品牌    ///     public string Brand { get; set; }   ///    /// 系列名   ///    public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

7.音箱

音箱Speakers

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// 音箱Speakers  ///   public class Speakers  {    ///     /// Speakers品牌    ///     public string Brand { get; set; }    ///     /// Speakers系列名    ///     public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

8.键盘

键盘Keyboard

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// 键盘Keyboard  ///   public class Keyboard  {    ///     /// Keyboard品牌    ///     public string Brand { get; set; }    ///     /// 键盘Keyboard系列名    ///     public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

9.鼠标

鼠标Mouse

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// 鼠标Mouse  ///   public class Mouse  {    ///     /// Mouse品牌    ///     public string Brand { get; set; }    ///     /// 鼠标Mouse系列名    ///     public string SerialsName { get; set; }    //其他属性...........  }}

登录后复制

10.电脑配置单Config

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  public class Config  {    ///     /// CPU    ///     public CPU CPU { get; set; }    ///     /// 显示器    ///     public Display Display { get; set; }    ///     /// 主板    ///     public MotherBoard MotherBoard { get; set; }    ///     /// 内存条    ///     public Memory Memory { get; set; }    ///     /// 硬盘    ///     public HardDisk HardDisk { get; set; }    ///     /// 显卡    ///     public GraphicCard GraphicCard { get; set; }    ///     /// 音箱    ///     public Speakers Speakers { get; set; }    ///     /// 键盘    ///     public Keyboard Keyboard { get; set; }    ///     /// 鼠标    ///     public Mouse Mouse { get; set; }  }}

登录后复制

11.一台电脑Computer

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// 电脑  ///   public class Computer  {    ///     /// CPU    ///     public CPU CPU { get; set; }    ///     /// 显示器    ///     public Display Display { get; set; }     ///     /// 主板    ///     public MotherBoard MotherBoard { get; set; }    ///     /// 内存条    ///     public Memory Memory { get; set; }    ///     /// 硬盘    ///     public HardDisk HardDisk { get; set; }    ///     /// 显卡    ///     public GraphicCard GraphicCard { get; set; }    ///     /// 音箱    ///     public Speakers Speakers { get; set; }    ///     /// 键盘    ///     public Keyboard Keyboard { get; set; }    ///     /// 鼠标    ///     public Mouse Mouse { get; set; }    ///     /// 电脑品牌厂商    ///     public Manufactures Manufactures { get; set; }    ///     /// 属于的系列    ///     public string Serials{ get; set; }    ///     /// 显示电脑配置    ///     public void ShowConfig()    {      Console.WriteLine(Manufactures +""+ Serials+"  系列的配置如下:");      Console.WriteLine("--------------------------------------------------");      Console.WriteLine("配件   品牌   系列");      Console.WriteLine("CPU   " + CPU.Brand + " " + CPU.SerialsName + "系列");      Console.WriteLine("主板   " + MotherBoard.Brand + " " + MotherBoard.SerialsName + "系列");      Console.WriteLine("内存条  " + Memory.Brand + " " + Memory.SerialsName + "系列");      Console.WriteLine("硬盘   " + HardDisk.Brand + " " + HardDisk.SerialsName + "系列");      Console.WriteLine("显卡   " + GraphicCard.Brand + " " + GraphicCard.SerialsName + "系列");      Console.WriteLine("显示器  " + Display.Brand + " " + Display.SerialsName + "系列");      Console.WriteLine("音箱   " + Speakers.Brand + " " + Speakers.SerialsName + "系列");      Console.WriteLine("键盘   " + Keyboard.Brand + " " + Keyboard.SerialsName + "系列");      Console.WriteLine("鼠标   " + Mouse.Brand + " " + Mouse.SerialsName + "系列");      Console.WriteLine(); Console.WriteLine();    }  }}

登录后复制

12.某一品牌 某一系列 产品的 具体配置

using System;using System.Collections.Generic;using System.Linq;using System.Text;using Com.Design.Gof.Builder.Factory;namespace Com.Design.Gof.Builder{  ///   /// 某一个产品的配置  ///   public class SerialsModel  {    private Config cfg = null;    ///     /// 获取电脑配置单    ///     ///     ///     public SerialsModel(Manufactures Manufactures, string SerialsName)    {      cfg= ConfigFactory.GetConfig(Manufactures, SerialsName);    }    ///     /// 具体配置,每个产品系列都有对应的产品配置单    ///     public Config Cfg    {      get { return cfg; }    }  }}

登录后复制

13.电脑配置单,读取的是XML文件,一共有三个测试文件,联想ThinkPad.xml,三星.xml,索尼.xml,下面只显示联想,其他的随附件下载

      Intel 酷睿 i5 2320    华硕 H61系列   金士顿 XXXX   希捷1TB 7200转,SATA2   华硕显卡XXXX   联想显示器XXXX   联想XXXX   联想键盘XXXX   微软鼠标XXXX         Intel 酷睿i5 2450M    华硕 H61系列   金士顿 XXXX   希捷500G XXXX   华硕显卡XXXX   LG显示器XXXX   漫步者XXXX   微软键盘XXXX   罗技鼠标XXXX         Intel 酷睿i5 2450M    华硕 H61系列   金士顿 XXXX   希捷500G XXXX   华硕显卡XXXX   LG显示器XXXX   漫步者XXXX   微软键盘XXXX   长城鼠标XXXX   

登录后复制

14.一个专门负责获取电脑 配置单的 简单工具类

using System;using System.Collections.Generic;using System.Linq;using System.Xml.Linq;using System.Xml.XPath;using System.Text;using Com.Design.Gof.Builder;using System.Xml;using System.IO;namespace Com.Design.Gof.Builder.Factory{  public class ConfigFactory  {    ///     /// 获取电脑配置单    ///     /// 电脑厂商    /// 指定系列    ///     public static Config GetConfig(Manufactures manufactures, string SerialName) {      Config cfg = new Config();      //从XML文件,加载电脑配置单      XDocument doc = XDocument.Parse(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"BuilderData" + manufactures + ".xml"));      XPathNavigator nav=doc.CreateNavigator();      XPathNavigator n=nav.SelectSingleNode("/products/product[@Serials='" + SerialName.Trim() + "']");      n.MoveToChild("config","");      if (n == null) {        return cfg;      }      string Brand = string.Empty, Serials = string.Empty;      //CPU      n.MoveToChild("cpu", "");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.CPU = new CPU { Brand = Brand, SerialsName = Serials };      //主板MotherBoard      n.MoveToNext("MotherBoard","");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.MotherBoard = new MotherBoard { Brand = Brand, SerialsName = Serials };      //内存Memory      n.MoveToNext("Memory", "");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.Memory = new Memory { Brand = Brand, SerialsName = Serials };      //硬盘HardDisk      n.MoveToNext("HardDisk", "");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.HardDisk = new HardDisk { Brand = Brand, SerialsName = Serials };      //显卡GraphicCard      n.MoveToNext("GraphicCard", "");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.GraphicCard = new GraphicCard { Brand = Brand, SerialsName = Serials };      //显示器Display      n.MoveToNext("Display", "");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.Display = new Display { Brand = Brand, SerialsName = Serials };      //音箱Speakers      n.MoveToNext("MotherBoard", "");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.Speakers = new Speakers { Brand = Brand, SerialsName = Serials };      //键盘Keyboard      n.MoveToNext("Keyboard", "");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.Keyboard = new Keyboard { Brand = Brand, SerialsName = Serials };      //鼠标MotherBoard      n.MoveToNext("Mouse", "");      Brand = n.GetAttribute("Brand", "");      Serials = n.Value;      cfg.Mouse = new Mouse { Brand = Brand, SerialsName = Serials };      return cfg;    }  }}

登录后复制

15.一个接口,定义了如何构建一个电脑

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  public interface IBuilder  {    ///     /// CPU    ///     void BuilderCPU(CPU cpu);    ///     /// 主板    ///     void BuilderMotherBoard(MotherBoard motherBoard);    ///     /// 显示器    ///     void BuilderDisplay(Display display);    ///     /// 内存条    ///     void BuilderMemory(Memory memory);    ///     /// 硬盘    ///     void BuilderHardDisk(HardDisk hardDisk);    ///     /// 显卡    ///     void BuilderGraphicCard(GraphicCard graphicCard);    ///     /// 音箱    ///     void BuilderSpeakers(Speakers speakers);    ///     /// 键盘    ///     void BuilderKeyboard(Keyboard keyboard);    ///     /// 鼠标    ///     void BuilderMouse(Mouse mouse);    ///     /// 获取组装好的电脑    ///     ///     Computer GetComputer();  }}

登录后复制

16.联想电脑

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// ThinkPad品牌厂商  ///   public class ThinkPad:IBuilder  {    Computer computer = null;//电脑    SerialsModel Serials = null;//某个产品系列的具体产品    public ThinkPad(Manufactures Manufactures, string SerialsName)    {      computer = new Computer { Manufactures = Manufactures, Serials = SerialsName };      Serials = new SerialsModel(Manufactures, SerialsName);    }    #region 装配电脑    ///     /// 1.组装 CPU    ///     ///     public void BuilderCPU(CPU cpu)    {      computer.CPU = cpu;    }    ///     /// 2.组装 主板    ///     ///     public void BuilderMotherBoard(MotherBoard motherBoard)    {      computer.MotherBoard = motherBoard;    }    ///     /// 3.组装 内存条    ///     ///     public void BuilderMemory(Memory memory)    {      computer.Memory = memory;    }    ///     ///4.组装 硬盘    ///     ///     public void BuilderHardDisk(HardDisk hardDisk)    {      computer.HardDisk = hardDisk;    }    ///     /// 5.组装 显卡    ///     ///     public void BuilderGraphicCard(GraphicCard graphicCard)    {      computer.GraphicCard = graphicCard;    }    ///     /// 6.组装 显示器    ///     ///     public void BuilderDisplay(Display display)    {      computer.Display = display;    }    ///     /// 7.组装 音箱    ///     ///     public void BuilderSpeakers(Speakers speakers)    {      computer.Speakers = speakers;    }    ///     /// 8.组装 键盘    ///     ///     public void BuilderKeyboard(Keyboard keyboard)    {      computer.Keyboard = keyboard;    }    ///     /// 9.组装 鼠标    ///     ///     public void BuilderMouse(Mouse mouse)    {      computer.Mouse = mouse;    }    #endregion    ///     /// 获取组装后的电脑    ///     ///     public Computer GetComputer() {      //步骤1--CPU      BuilderCPU(Serials.Cfg.CPU);      //步骤2---主板      BuilderMotherBoard(Serials.Cfg.MotherBoard);      //步骤3--内存条      BuilderMemory(Serials.Cfg.Memory);      //步骤4--硬盘      BuilderHardDisk(Serials.Cfg.HardDisk);      //步骤5--显卡      BuilderGraphicCard(Serials.Cfg.GraphicCard);      //步骤6--显示器      BuilderDisplay(Serials.Cfg.Display);      //步骤7--音箱      BuilderSpeakers(Serials.Cfg.Speakers);      //步骤8--键盘      BuilderKeyboard(Serials.Cfg.Keyboard);      //步骤9--鼠标      BuilderMouse(Serials.Cfg.Mouse);      return computer;    }  }}

登录后复制

17.索尼电脑

Sony

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// Sony索尼品牌厂商  ///   public class Sony:IBuilder  {    Computer computer = null;//电脑    SerialsModel Serials = null;//某个产品系列的具体产品    public Sony(Manufactures Manufactures, string SerialsName)    {      computer = new Computer { Manufactures = Manufactures, Serials = SerialsName };      Serials = new SerialsModel(Manufactures, SerialsName);    }    #region 装配电脑    ///     /// 1.组装 CPU    ///     ///     public void BuilderCPU(CPU cpu)    {      computer.CPU = cpu;    }    ///     /// 2.组装 主板    ///     ///     public void BuilderMotherBoard(MotherBoard motherBoard)    {      computer.MotherBoard = motherBoard;    }    ///     /// 3.组装 内存条    ///     ///     public void BuilderMemory(Memory memory)    {      computer.Memory = memory;    }    ///     ///4.组装 硬盘    ///     ///     public void BuilderHardDisk(HardDisk hardDisk)    {      computer.HardDisk = hardDisk;    }    ///     /// 5.组装 显卡    ///     ///     public void BuilderGraphicCard(GraphicCard graphicCard)    {      computer.GraphicCard = graphicCard;    }    ///     /// 6.组装 显示器    ///     ///     public void BuilderDisplay(Display display)    {      computer.Display = display;    }    ///     /// 7.组装 音箱    ///     ///     public void BuilderSpeakers(Speakers speakers)    {      computer.Speakers = speakers;    }    ///     /// 8.组装 键盘    ///     ///     public void BuilderKeyboard(Keyboard keyboard)    {      computer.Keyboard = keyboard;    }    ///     /// 9.组装 鼠标    ///     ///     public void BuilderMouse(Mouse mouse)    {      computer.Mouse = mouse;    }    #endregion    ///     /// 获取组装后的电脑    ///     ///     public Computer GetComputer() {      //步骤1--CPU      BuilderCPU(Serials.Cfg.CPU);      //步骤2---主板      BuilderMotherBoard(Serials.Cfg.MotherBoard);      //步骤3--内存条      BuilderMemory(Serials.Cfg.Memory);      //步骤4--硬盘      BuilderHardDisk(Serials.Cfg.HardDisk);      //步骤5--显卡      BuilderGraphicCard(Serials.Cfg.GraphicCard);      //步骤6--显示器      BuilderDisplay(Serials.Cfg.Display);      //步骤7--音箱      BuilderSpeakers(Serials.Cfg.Speakers);      //步骤8--键盘      BuilderKeyboard(Serials.Cfg.Keyboard);      //步骤9--鼠标      BuilderMouse(Serials.Cfg.Mouse);      return computer;    }  }}

登录后复制

18.三星电脑

三星

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// Samsung索尼品牌厂商  ///   public class Samsung:IBuilder  {    Computer computer = null;//电脑    SerialsModel Serials = null;//某个产品系列的具体产品    public Samsung(Manufactures Manufactures, string SerialsName)    {      computer = new Computer { Manufactures = Manufactures, Serials = SerialsName };      Serials = new SerialsModel(Manufactures, SerialsName);    }    #region 装配电脑    ///     /// 1.组装 CPU    ///     ///     public void BuilderCPU(CPU cpu)    {      computer.CPU = cpu;    }    ///     /// 2.组装 主板    ///     ///     public void BuilderMotherBoard(MotherBoard motherBoard)    {      computer.MotherBoard = motherBoard;    }    ///     /// 3.组装 内存条    ///     ///     public void BuilderMemory(Memory memory)    {      computer.Memory = memory;    }    ///     ///4.组装 硬盘    ///     ///     public void BuilderHardDisk(HardDisk hardDisk)    {      computer.HardDisk = hardDisk;    }    ///     /// 5.组装 显卡    ///     ///     public void BuilderGraphicCard(GraphicCard graphicCard)    {      computer.GraphicCard = graphicCard;    }    ///     /// 6.组装 显示器    ///     ///     public void BuilderDisplay(Display display)    {      computer.Display = display;    }    ///     /// 7.组装 音箱    ///     ///     public void BuilderSpeakers(Speakers speakers)    {      computer.Speakers = speakers;    }    ///     /// 8.组装 键盘    ///     ///     public void BuilderKeyboard(Keyboard keyboard)    {      computer.Keyboard = keyboard;    }    ///     /// 9.组装 鼠标    ///     ///     public void BuilderMouse(Mouse mouse)    {      computer.Mouse = mouse;    }    #endregion    ///     /// 获取组装后的电脑    ///     ///     public Computer GetComputer() {      //步骤1--CPU      BuilderCPU(Serials.Cfg.CPU);      //步骤2---主板      BuilderMotherBoard(Serials.Cfg.MotherBoard);      //步骤3--内存条      BuilderMemory(Serials.Cfg.Memory);      //步骤4--硬盘      BuilderHardDisk(Serials.Cfg.HardDisk);      //步骤5--显卡      BuilderGraphicCard(Serials.Cfg.GraphicCard);      //步骤6--显示器      BuilderDisplay(Serials.Cfg.Display);      //步骤7--音箱      BuilderSpeakers(Serials.Cfg.Speakers);      //步骤8--键盘      BuilderKeyboard(Serials.Cfg.Keyboard);      //步骤9--鼠标      BuilderMouse(Serials.Cfg.Mouse);      return computer;    }  }}

登录后复制

19.美女销售员,指导我们买电脑

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Builder{  ///   /// 电脑厂家,销售员指导 消费者 要购买那个 品牌 的电脑  ///   public enum Manufactures  {    Acer宏碁=1, Alienware=2,长城=3,    戴尔=4, 东芝=5, 典籍=6, 多彩=7,    DCMOFA=8,ESER宇朔=9,富士通=10,     方正=11,Gateway华硕=12, 惠普=13,    海尔=14, 瀚斯宝丽=15,Intel=16,    技嘉=17,联想=18, 联想ThinkPad=19,    雷蛇=20, LG=21, 镭波=22,    msi微星=23, 明唐=24,NEC=25,    苹果=26,清华=27,同方=28,     七喜=29, 七彩虹=30,神舟=31,    索尼=32, 三星=33, 松下=34,    史密斯=35, 索泰=36, 神酷=37,    TerransForce=38,微软=39, 万利达=40,    新蓝=41,优派=42  }  public class Salesman  {    ///     /// 电脑配置    ///     public void ShowConfig()    {      Builder.GetComputer().ShowConfig();    }    ///     /// 制造商    ///     public IBuilder Builder { get; set; }   }}

登录后复制

20.主函数调用

using System;using System.Collections.Generic;using System.Linq;using System.Text;using Com.Design.Gof.Builder;namespace Com.Design.Gof.Test{  class Program  {    static void Main(string[] args)    {      //这位先生,请问你看中哪个型号?这边来看下吧!      Salesman salesman = new Salesman();      //美女介绍的  第一台电脑      salesman.Builder = new ThinkPad(Manufactures.联想ThinkPad, "联想IdeaCentre K330");      salesman.ShowConfig();  //电脑配置      //第二台电脑      salesman.Builder = new Sony(Manufactures.索尼, "索尼E14A17ECW");      salesman.ShowConfig();  //电脑配置      //第三台电脑      salesman.Builder = new Samsung(Manufactures.三星, "三星300E4A-S0G");      salesman.ShowConfig();  //电脑配置      Console.ReadKey();    }  }}

登录后复制

21.运行结果

C#中Builder生成器模式解决配置电脑的问题详解

22.总结

本来想把每个电脑配件再细化,发现工程很大,电脑 产品的属性很多,所以只列出2个字段。

附件里面包括了程序源码。也包括其他项目的测试,有控制台,有web。

以上就是C#中Builder生成器模式解决配置电脑的问题详解的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2493601.html

(0)
上一篇 2025年3月5日 01:34:34
下一篇 2025年3月5日 01:34:50

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • C#实现Json序列化删除null值的方法实例

    要将一个对象序列化,可是如果对象的属性为null的时候,我们想将属性为null的都去掉,怎么处理呢?其实方法很简单的,下面就跟随脚本之家小编一起学习c#中 json 序列化去掉null值的方法吧 要将一个对象序列化,可是如果对象的属性为nu…

    编程技术 2025年3月5日
    200
  • C#中发送邮件的实现方法详解

    这篇文章主要为大家详细介绍了c#实现发送邮件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 #region 发送邮件部分    private …

    编程技术 2025年3月5日
    200
  • C#中关于Minutes与TotalMinutes的区别

    今天测试提了一个bug,说是消息提醒的时机不对,设置的提前2小时,还没到就提醒了。 看了下代码 (m.ExpectReceiveTime – DateTime.Now).Minutes 执行(m.ExpectReceiveTime – Da…

    编程技术 2025年3月5日
    200
  • C#中关于表达式树的简单介绍

    表达式树可以说是linq的核心之一,为什么是linq的核心之一呢?因为表达式树使得c#不再是仅仅能编译成il,我们可以通过c#生成一个表达式树,将结果作为一个中间格式,在将其转换成目标平台上的本机语言。比如sql。我们常用的linq to …

    2025年3月5日
    200
  • C# WinForm跨线程访问控件的图文详解

     问题出现:  在WinForm 处理多线程访问主线程的控件时候,就会出现如图所示的错误对话框:          解决方案:      方案一:去掉线程访问主线程UI控件的安全检查,使用:  Control.CheckForIllegal…

    2025年3月5日 编程技术
    200
  • C#中VB.NET给Word文档添加/撤销书签的实例

    在现代办公环境中,阅读或者编辑较长篇幅的word文档时,想要在文档中某一处或者几处留下标记,方便日后查找、修改时,需要在相对应的文档位置插入书签。那对于开发者而言,在c#或者vb.net语言环境中,如何来快速、简便的插入书签呢,我分享一下我…

    2025年3月5日
    200
  • C#中异步编程4async与await异步程序开发的实例分析

    随着c#异步程序开发系列的深入,你会发现编写异步程序越发简单。事物的发展就是这样的规律,从简单到复杂再到简单。 在C# 5.0中我们可以通过async与await关键字实现快捷的异步程序开发,如下:         static void …

    2025年3月5日
    200
  • .Net实现微信JS-SDK分享功能代码展示

    这篇文章主要介绍了微信js-sdk分享功能的.net实现代码的相关资料,需要的朋友可以参考下 JS-SDK接口是什么? 为了方便开发者实现微信内的网页(基于微信浏览器访问的网页)功能,比如拍照、选图、语音、位置等手机系统的能力,并方便开发者…

    2025年3月5日
    200
  • C#如何通过对象属性名修改值的实例

    摘自:csdn 给一个对象属性赋值可以通过PropertyInfo.SetValue()方式进行赋值,但要注意值的类型要与属性保持一致。    创建对象实例的两种方法:  1.  var obj = Assembly.Load(“Assem…

    编程技术 2025年3月5日
    200
  • C#中引用类型之特例string的详细介绍

        在c#编程的时候经常会使用字符串(string)类型,它也是引用类型,但是处处都不作为引用的用法来使用,实属特例,下来我一一罗列出来,供自己记忆方便:      1)字符串的直接赋值:本身字符串就是引用类型,应该使用  new 对象…

    2025年3月5日
    200

发表回复

登录后才能评论