C#学习笔记之三(delegate, event, Make XML document )

Windows NT 与 Windows 9x 内核架构对比:从稳定性、安全到现代系统设计的5个关键差异 本文深入对比了Windows NT与Windows 9x内核架构的5个关键差异,包括内存管理、进程模型、硬件抽象层、文件系统和安全架构。Windows NT通过分页式虚拟内存、严格进程隔离和硬件抽象层设计,显著提升了系统稳定性和安全性,而Windows 9x在这些方面存在明显缺陷。这些差异奠定了现代Windows系统设计的基础。 阅读详情

Delegates:
   // 1. nomal delegates = create before run, in main 
 //declare
 class Employee{}; class Couple{}
 
 public delegate bool Reverse(object lhs, object rhs);
 SetOrder(Reverse the DelegatedFunction) {}
 //init
 Couple.Reverse employeeByID = new Couple.Reverse(Employee.SecondIDLower)
 Couple employees = new Couple(joe, fred);
 employees.SetOrder(employeeByID);
 
  // 2.static delegates = create it before run, static readonly
   // it will oppcupy memory
   class Employee {
    public static readonly Couple.Reverse EmployByID =
     new Couple.Reverse(Employee.SecondIDLower);
   }
   // call
   employees.SetOrder(Employee.EmployByID);
  // 3. delegates as propeties = create when use it
   // save memory
   class Employee {
    public static Couple.Reverse EmployeeByID {
     get {return new Couple.Reverse(Employee.SecondIDLower);}
    }
   }
  // 4. Muticast Delegates
   // must return void
   public class DelegateClass {
    public delegate void StringDelegate(string s);
    public void Display(StringDelegate d, string s
    {
     d(s);
    }
   }
   //declare
   DelegateClass.StringDelegate Writer, Logger, Storer;
   //init
   Writer = new DelegateClass.StringDelegate(Employee.WriteString);
   Logger = new DelegateClass.StringDelegate(Employee.LogString);
   Storer = new DelegateClass.StringDelegate(Employee.StoreString);
   ...
   public static void WriteString(string s) {}
   DeletegateClass.StringDelegate mutiCast;
   mutiCast = Writer + Logger;
   mutiCase += Storer;
   mutiCast -= Logger;
   // call muticast delegates
   theDelegateClass.Display(mutiCast, joe.ToString);

event:
 //OfficeWatcher will subscrib Office's event
 public class OfficeWatcher()
 {
  //subscriber Office event
  public OfficeWatcher(Office)
  {
   office.OfficeChanged +=
    new Office.OfficeChangedHandler(OnOfficeChanged);
  }
  //OnOfficeChanged will call when Office changed
  public void OnOfficeChanged(object sender, Office EventArgs e) {}
 }
 //It will needed by NotifyOfficeChanged, hold data need to let
 //subscribers know
 public class OfficeEventArgs: EventArgs {}

 public class Office {
  //declare delegate, event will use it
  public delegate void OfficeChangedHandler(object sender,
  OffEventArgs e);
  //declare event
  public event OfficeChangedHandler OfficeChanged;
  //This method will go through event OfficeChanged event and
  //find who has subscribed this event, and let them know
  protected virtual void NotifyOfficeChanged(OfficeEventArgs e){}
    if (OfficeChanged != null) OfficeChanged(this, e);
  }
  ...
  public this[int index]
  {
   ...
   OfficeEventArgs e new OfficeEventArgs(ctr);
   //Notify subscribers Office has changed
   NotifyOfficeChanged(e);
  }
 }
 
XML Document:
 1. generate XML comments in code using /// comments
 2. 项目属性-->配置属性-->生成-->输出-->XML文档文件
 3. ctrl+shift+B 生成项目, 这时生成xml文档
 4. 工具-->生成注释web页,这时生成html文件

【扫盲篇】关于DOS内核和NT内核 1."DOS内核"与NT内核都包含了那些版本?二者是什么关系?答:总体来说,Windows 2k之后的一般都是NT内核,而之前的大部分是"DOS内核"。 微软家族OS的特性主要取决于内核。"DOS内核"之所以加上引号,是因为Win 9x系列其实还依赖于DOS,而不像现在的win8系统那样只是一个附属工具,一个典型的证据就是Win 9x时代的蓝屏问题在2k之后几乎绝迹,究其原因主要是... 阅读详情

相关推荐

60、Windows 9x、NT 和 2000 系统启动流程解析

本文详细解析了Windows 9x与Windows NT/2000系统的启动流程,涵盖各自的关键启动文件、组件作用及完整启动步骤。通过对比分析,揭示了两种系统在启动机制上的根本差异,包括实模式与保护模式的区别、硬件检测方式、内核加载过程等,并提供了系统安装配置与故障排除的实用建议,适用于系统管理员和技术爱好者深入了解操作系统底层机制。

1a2s3d4f5g的博客 101

Windows NT 与 Windows 的区别

   2000年以前我们说的windows与我们现在说的windows有所区别,我们现在说的windows(win2000,winxp,win2003,winvista,win2008,win7)其实是windows NT,全称Microsoft Windows NT(New Technology)即视窗NT是由微软公司发行的操作系统。 Windows NT是基于OS/2 NT的基础编制的

cz_water的专栏 7134

57、Windows 9x 和 Windows NT/2000 安装全解析

本文详细解析了Windows 9x与Windows NT/2000操作系统的完整安装流程,涵盖启动方式、分区与格式化操作、安装程序运行步骤及常见问题解决方法。通过图文并茂的流程图和表格,帮助用户系统掌握从准备到完成安装的全过程,并提供针对硬件识别、磁盘空间不足、安装崩溃等问题的实用解决方案,适用于需要在老旧或特定环境中部署这些操作系统的用户参考。

x1y2z的博客 123

Windows NT下和Windows 9x下DLL的存在形式

最近看到了一个模拟LoadLibrary的代码,其中有这么一段 if(g_bIsWinNT) ...{   // === Windows NT DLL Loading (supports shared sections) ===   if(svMappingName!=NULL) ...{    hmapping=OpenFileMapping(FILE_MAP_WRITE,TRUE,sv

土星·北海若 1421

Windows NT各版本对应关系

Microsoft Windows NT(New Technology)是Microsoft(微软)于1993年推出的面向工作站、网络服务器和大型计算机的网络操作系统,也可做PC操作系统。 1、NT 3.1 Windows NT 3.1是微软的Windows NT产品线的第一代产品,用于服务器和商业桌面操作系统,于1993年7月27日发表。版本号的选择是为了匹配Windows 3.1,微软当时...

顺其自然~专栏 1万+

60、Windows 9x 与 Windows NT/2000 启动流程详解

本文详细解析了Windows 9x与Windows NT/2000的启动流程,涵盖关键文件如config.sys、autoexec.bat、ntldr、boot.ini的作用,对比两者在启动模式、内存管理、硬件检测和内核加载等方面的差异,并分析了vmm32与ntoskrnl.exe等核心组件的功能。同时提供了针对两类系统的启动问题排查思路与解决方案,帮助读者深入理解操作系统启动机制,提升故障诊断能力。

x1y2z的博客 87

在Win9x/NT下获取硬盘物理序列号

#include #include #pragma inline//---------------------------------------------------------------------------// IDE NT/2000/XP专用变量#define GETVERSIONOUTPARAMS     GETVERSIONINPARAMS#define DFP_GET_VERS

Chinawash 专栏 1427

windows nt6.x linux,另类简单方法,实现NT6.x引导Linux地多系统方法

《另类简单方法,实现NT6.x引导Linux地多系统方法》由会员分享,可在线阅读,更多相关《另类简单方法,实现NT6.x引导Linux地多系统方法(10页珍藏版)》请在人人文库网上搜索。1、实用文案另类简单方法,实现NT6.x引导Linux的多系统方法Readme :想必大多数人对同类 NT系统的Windows系统做到多系统已经非常熟练了吧,有的人又想 把NT系统和Linux系统共存,但是,装了 ...

weixin_39869791的博客 681

Windows NT 技术简介

Windows NT 技术简介 NT:New Technoly(新技术,因比DOS、WIN9X采用了很多新技术而得名) Windows NT基本介绍 WindowsNT是Microsoft推出的面向工作站、网络服务器和大型计算机的网络操作系统,也可做PC操作系统。 它与通信服务紧密集成,提供文件和打印服务,能运行客户机/服务器应用程序,内置了Internet/Intr...

weixin_30268071的博客 2419

serch安装2012 windows_重塑Windows:从NT到10X,Microsoft不断追求更好的操作系统

Windows的每个版本都是Microsoft尽最大努力来完成的重要任务。这其中一些成功了,一些失败了。现在我们来回顾一下那些里程碑。纯粹从商业角度回顾Windows的历史很容易,每个新版本都给Microsoft带来了丰厚的收入。但是,通过关注每个版本中首次出现的主要技术,我们可以看到一些微软正在努力的方向。实际上,专注于这些技术可能有助于解释Windows发行版的周期,在早期发行版中存在的问题,...

weixin_39663258的博客 199

X Windows 与 Windows 95/98/NT 的比较: 无胜负之争

X Windows 与 Windows 95/98/NT 的比较: 无胜负之争作者: Paul Gregory Cooper译: Gump    在12月份(1998年, 译者注)的 > 里, Sergio Martinez 来信 寻求一篇(能尽快得到的)文章论述一下关于 X 和 Windows 95/98/NT (w95) 之间的区别--原文见下. 现在我试图回答这个问题--我记

renhuailu的专栏 2448

maciNTosh双启动配置教程:Windows NT与Mac OS 9共存的实用技巧

在Power Macintosh系统上实现Windows NT与Mac OS 9双启动是一项极具价值的技术实践。maciNTosh项目作为PowerPC架构的Windows NT移植方案,为经典苹果电脑用户提供了体验两种操作系统的可能性。本文将详细介绍如何在支持的Power Macintosh机型上配置双启动环境,让你轻松实现Windows NT与Mac OS 9的无缝切换。 ## 支持的Pow

gitblog_00612的博客 878

WINDOWS NT

  今后的操作系统领域将是NT的天下,就连Windows 9x系列都将在Windows Millennium(Windows 98的接班人,现在正处在测试阶段)到来后,停下“她”的脚。但是现在用户用的都是Windows 98,而...

cineqi9136的博客 645

(转载)Windows NT/2000下的空连接

Windows NT/2000下的空连接发布日期:2002-03-28文摘内容: 日期:2002-03-11作者:Joe Finamore概述谜语:"什么时候是NULL而不是null?"答案:"当它是一个空连接时。"空连接是在没有信任的情况下与服务器建立的会话,此文将讨论在NT4.0及Windows2000下的空连接问题,将研究连接的使用及弱点,同时将显示如何控制和消除这些弱点。在NT 4

Kendiv's Box 2650

Windows NT/2000下的空连接

概述 谜语:"什么时候是NULL而不是null?" 答案:"当它是一个空连接时。" 空连接是在没有信任的情况下与服务器建立的会话,此文将讨论在NT4.0及Windows 2000下的空连接问题,将研究连接的使用及弱点,同时将显示如何控制和消除这些弱 点。 在NT 4.0下的LANMAN会话 在我们开始讨论空连接之前,我们需要知道连接是什么,有一个非常好的关于NTLM验证 的讨论在URL: http...

xiaoyaGrace的博客 221

WINDOWS9x 的后台进程

WINDOWS9x 的后台进程加入时间:01-1-6 下午 04:47:20 上海仙霞路山特公司软件中心黄飞----1.后台进程----在WINDOWSNT中有一个功能强大的SERVICE管理器,它管理着一部分实现重要功能的后台进程,例如FTP.HTTP.RAS.网络Message等等,这些后台进程被称之为Service,他们可以在系统启动时就加载,可以运行在较高的优先级,可以说是非常

silver的专栏 1379

dotnet9x COM互操作:Windows 9x下的COM组件调用

在Windows 9x时代,COM(Component Object Model,组件对象模型)技术是Windows平台的核心技术之一。然而,当.NET Framework 2.0-3.5被移植到Windows 9x系统时,COM互操作(Interop)面临着前所未有的技术挑战。本文将深入探讨dotnet9x项目如何解决这些挑战,实现在Windows 9x系统上的COM组件调用。 ## COM互...

gitblog_00132的博客 810
上一篇: C#学习笔记之八(Serialization, ActiveX Control)
下一篇: C#学习笔记之七(network I/O, Asynchonouse network I/O)
bugfree
博客等级 码龄24年 1粉丝 19原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值