vb.net视频是由曹祖圣和林煌章两位老师轮流讲解的,他们的普通话夹杂着台湾口音,整个项目学习起来蕴含一种别样的味道。每次的讲解都有条不紊,每次的议题都会首先做出简单介绍,这让整个项目学习起来变得有章可循。本次总结小编从前五章着手,详细内容敬请观看:
上图是第一集的主要议题,整个过程学习下来,感触最深的是关于.NET Framework重要的两个组成部分:CLR与BCL
即共同语言执行时期,全称为Common Language Runtime,包含结构为:
具体的详细内容了解的不是很透彻,但是对于其中的例外管理和除错引擎还是有一定想法的,例外管理是平常所说的错误处理的管理或者说异常的管理,简单理解为错误处理标准化,而除错引擎可以帮你明确错误点,类似一个引导,比如VB当中的MSDN;C#中的错误双击。
即基底类别库,全称为Base Class Library,具体构造为:
针对BCL还需要做进一步的学习,尽管在整个项目的学习过程中,渗透着基底类别或者说基底类别库的说法,总是不太理解其中的内涵,知识需要反复。
在部署细节上需要考虑几个方面:组件设定档的撰写;组件安装到GAC的操作;版本编号的制定;保护组件;零接触部署的使用。这个方面关乎部署的问题,本章仅仅简单介绍,没有很仔细的进行讲解,在接下来的学习会一一揭开谜团。
针对物件主要讲了两个方面的内容:复制与毁灭
值得注意的是物件的复制必须明确,否则不会进行复制操作。
复制有两种类型:Shallow Copy和Deep Copy,其中Shallow Copy复制的是Field;Deep Copy是复制所有的子物件
复制的具体操作有两种:复制每个Field资料通过建构函式,具体形式如下:
.net支援可以复制Field的方法呼叫MemberwiseClone,具体代码如下:
PS:顾名思义感觉这里所说的Shallow Copy和Deep Copy与大话设计模式中原型模式中的浅复制和深复制有着一定的相似之处,在以后的实践中可以进行再次对比。
资源收集器即GC,全称为Garbage Collector,实例如下:
************************************************************
objA=NewSomeClass(...)
.
.
假设物件已经使用完毕
objA.Dispose()若物件有提供Dispose方法,即呼叫
objA=Nothing让物件变成没有被参考
*****************************************************************
对于此单元,留有印象的是关于Microsoft.net基底类别,表格具体描述一下命名空间与
具体的用途:
在C#与大话设计模式学习的基础上,对于命名空间的具体作用有一定的感受,比如在大话设计模式中用到哈希表,此哈希表的运用需要声明命名空间,才可使用其属性和方法。然而具体每个命名空间所包含的具体用途有待探寻。
另外,DLL参考与专案参考两相对比,具体如下:
DLL参考:效率高;变更时需手动重新编译
专案参考:西东编译DLL;在背景编译变更过的元件,会暂时停止回应。
首先,事件驱动的应用程式是指使用者所操作的每一个动作都视为事件,事件会被作业系统所拦截,并传递给应用程式的处理序;其次,事件处理函式可以通过Handles关键字进行识别;事件模型的主要内容:使用建构函式进行初值化;第一次显示表单前,使用Load事件进行初值化;在Closing事件中询问使用者;在Closed事件中释放使用资源;接下来.net与VB中的表单有所对比:相同点:基本事件、属性、方法是相同的;不同点:直接点选控制项,就可以设定定位顺序;AutoScroll属性来决定表单是否出现卷轴;控制箱具有Anchor属性;度量单位是使用Pixels而非Twips;接受与取消的按钮可直接在Form的属性中设定。
在vb.net中型别转换的预设值是关闭的,而在实际运用中强烈建议开启
包含两种主要的上层类别:
System.SystemException(系统定义的例外);System.ApplicationException(使用者自订的例外)
例外具体情况为:例外被视为物件;例外物件是透过掷出(Throw)的方式被引发;例外物件可以透过Catch的方式被捕捉;例外物件的型别代表着例外的种类
处理例外有三种做法:捕捉例外;留下记录;再掷出例外或暂停应用程式(例外的处理至少要做到留下记录)
PS:其实在观看vb.net的过程中,最大的感受就是可以与之前学习的c#和大话设计模式有所共鸣,让自己觉得之前的学习还是有所收获的。