2020-03-27 09:34:11
因为勇哥看到一份代码,作者为了方便一个类能被任何其它类随时调用,把这全部成员变与方法都定义为static。感觉很怪异,于是抽点时间仔细考虑了一下为啥这样不妥当,罗列几条如下:是否使用静态,相信大家肯定知道静态与实例方法的调用区别:一个是类型调用,一个是实例调用。个人建议更应该从OOP的角度思考这个问题:什么样的行为是需要具体的对象去执行的,什么样的行为是某一个类型/类别拥有的?举个例子:每个人都有...
2020-03-25 09:51:17
勇哥只知道这个dic只有一个元素,但并不知道key是什么,如何从一个Dictionary里取得第1个key和Value? Dictionary<String, Object> dict = new Dictionary<string, object>();
dict.Add("ClassA", 123);
dict.Add("Class...
2020-03-25 09:35:03
如下图所示:如果你引用的是System.Windows.Controls, 则box.DataSoruce会表示没有这个属性DataSource。如果你引用System.Windows.Forms,则没有问题。勇哥也是刚发现这两者的差别蛮大,又是一个知识的盲点。目前在网上搜索不到这两者的详细区别,只找到这个:暂时就理解为: 因为建立的工程是.net winform程序,所以控件要引用System....
2020-03-24 10:36:48
勇哥引用一段“工作流设计器”功能的代码,发现:UIElement和System.Windows.Controls无法引用,错误如下图所示:网上找了下资料,如下:System.windows.UIElement
定义了wpf的核心子系统,包括布局layout 输入input和事件event 焦点 等
System.Windows.Controls
则是wpf的控件系统,不是winf...
2020-02-22 20:50:21
勇哥想附加一个sql server的数据库,结果报错,说这个数据库是用高版本创建的,又遇到该死的版本问题了。于是想到怎么不用sql server management studio打开个数据库,这样我起码可以抄一下表结构,重建数据表。勇哥先打开vs2019,这已经是勇哥电脑里最高版本的vs了,这样确保比数据库文件的版本要高了。然后随便新建一个C#工程,在项目中点击工具→连接到数据库,选择数据库文件...
2020-02-21 13:46:16
今天勇哥看到下面这种现象:propertygrid.SelectedObject 挂接的对象属性灰度不可以编辑有点奇怪,想不到为什么,后来发现是属性set被置为private了,去掉了即可以了。[Config, Description("测量框的行"), Category("HalconLineObj")]
public double Ro...
2020-01-27 09:04:26
引言:勇哥今天发现自己对out,ref的区别居然没有理解很透彻,只知道它们都是传地址方式进行工作的,并且ref需要进入前初始化,而out是在离开前必须被赋值。为了让代码更加规范,有必要把两者的特性详细了解一下。首先,俩者都是按地址传递的,使用后都将改变原来参数的数值。其次,ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值...
2020-01-23 20:16:01
学习完本章,你将掌握:1.了解传统的事务模型以及这种模型在哪些地方适合去使用,哪些地方不适合使用2.懂得在哪些地方不适合传统的事务以及什么时候是补偿事务的恰当时机3.看看怎样回滚或补偿事务4.看看怎样修改默认的补偿顺序如果你是写软件的,你迟早需要去理解事务处理。事务处理(transactionalprocessing)在这个 意义上是指写那些把信息记录到一个持久化资源的软件,这些持久化资源如数据库...
2020-01-23 12:18:18
学习完本章,你将掌握:1.理解状态机的概念以及它怎样被模拟到工作流处理中的2.创建基于状态的工作流3.运用初始(initial)和终止(terminal)状态条件4.使用代码进行状态的切换在第四章“活动和工作流类型介绍”中,我阐述过你使用WF 所能创建的工作流类型,在那里我提到过基于状态的工作流。基于状态的工作流模型被认为是有限自动机(finitestate machine)。基于状态的工作流在工...
2020-01-22 22:17:58
学习完本章,你将掌握:1.了解对于创建一个功能齐全的自定义工作流活动来说哪些组件是必须的2.创建基本的自定义工作流活动3.在基本的自定义工作流活动中应用验证规则4.把基本的自定义工作流活动集成到Microsoft Visual Studio 的工作流视图设计器和工具箱中WF 并不可能涵盖到你可能在你的工作流中想要实现的各个方方面面。即使WF 对于开发社区来说仍是非常新的技术,但目前已经可以获得许多...
2020-01-20 19:35:34
学习完本章,你将掌握:1.知道在工作流处理过程中怎样进行策略和规则的处理2.理解前向链接以及这是如何影响到基于规则的工作流处理过程的3.为工作流处理过程创建规则4.结合Policy 活动来使用规则我敢肯定,我们中的大多数人编写面向过程的代码(imperative code)都很轻松自在。过程式代码指通过编程来实现业务处理过程的C#代码,例如,读取一个数据库表,增加这个表中某些列的值,然后把它们统统...
2020-01-20 17:42:55
勇哥带大家回顾一下面向对象编程和设计模式的精髓概念。面向对向程序的三大特征:封装,隐藏内部实现继承,复用现有代码多态,改写对象行为设计模式的核心思想:(1)设计模式最根本的意图是适应需求的变化。(2)编码应采用高内聚低耦合设计思想(3)针对接口编程,而不要针对实现编程(4)优先使用聚合,而不是继承(5)坚持开闭原则(OCP)注:
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做...
2020-01-19 17:09:04
WPF与Winform互操作[1]Winform调用WPF窗体创建Winform应用程序项目。打开VS2013,文件->新建->项目...,新建一个Windows窗体应用程序项目,项目名称为“Winform调用WPF窗体”。为Form1添加一个按钮,用于打开WPF窗体。创建待调用的WPF窗体。为解决方案添加一个WPF应用程序项目,右键解决方案,添加->新建项目,创建一个WPF应用...
2020-01-19 15:23:40
有同事问起过这个问题。确实在有些代码中会见到文件名前面有这样的图标,见下图所示:但是有些工程却没有这些图标,比如下面的工程:勇哥听到这个问题,想了一下,确实之前见过这些图标,当时没有仔细这个。再一想,不就是在编辑netMarketing类库的工程时见过这个吗?原来有版本控制的工程,就会有这种图标。通常被git接管的代码,其目录下都有隐藏文件夹.git。见下图。-------------------...
2020-01-17 21:36:26
学习完本章,你将掌握:1.理解在工作流环境中Parallel 活动是怎样执行的,并且懂得如何使用它们2.并行执行路径中的同步数据存取和临界代码区3.使用ConditionedActivityGroup 活动去执行根据条件表达式判断执行路径的并行活动在本书中截止目前为止,我们仅仅处理过顺序业务流程。如活动A 执行后转到活动B 的执行等等。我们还没看到过并行执行路径和由此通常伴随而来的错综复杂的情况。...
2020-01-07 11:41:48
学习完本章,你将掌握:1.使用HandleExtenalEvent 活动创建特定的事件处理程序2.在你的工作流中使用Delay 活动3.在你的工作流中使用EventDriven 活动4.在你的工作流中使用Listen 活动5.理解EventHandlingScope 活动在活动并发执行的情况下是怎样监听事件的在第八章(“调用外部方法和工作流”)中,你看过工作流怎样使用CallExternalMet...
2020-01-06 13:20:11
学习完本章,你将掌握:1.学会怎样使用IfElse 活动来执行条件表达式2.学会怎样使用While 活动来执行循环3.理解Replicator 活动是怎样来模拟for 循环的,以及它的使用方法。我们已经看到过怎样执行工作流内部和外部的代码,已经知道怎样处理异常,暂停进程,在事情脱离控制时终止我们的工作流。但无疑对于任何一个 计算机系统的主要组成部分来说,都应具有根据运行时的条件做出判断以执行不同的...
2020-01-04 18:14:02
学习完本章,你将掌握:1.创建并调用你的工作流外部的本地数据服务2.理解怎样使用接口来为宿主进程和你的工作流之间进行通信。3.使用设计的外部方法在你的工作流和宿主应用程序之间传输数据。4.在一个正执行的工作流中调用其它工作流在写前面的章节时,我自己不断地思考,“我不能再等了,我要弄清楚在哪里可把(工作流中的)真实数据返回到宿主应用程序中!”为什么?做了 这么多的活动和工作流的演示,但都没有实际返回...
2019-12-31 21:46:39
在用 VS.NET进行窗体设计的时候,经常会遇到这样的问题:我们需要在构造函数或者在OnLoad事件中进行自己的一些初始化操作,比如连接一个数据库、调用一个资源文件或者后期绑定一个组件。如果代码通过编译,在运行时会执行得相当如你所愿。然而,当我们用窗体设计器打开这样一个窗体或者继承的窗体,IDE环境会抛出非常令人不愉快的异常,比如(NullReferenceException )。 究其原因,主要...
2019-12-31 13:13:33
学习完本章,你将掌握:1.理解工作流实例为什么要卸载和重新加载及其时机2.理解工作流实例为什么要持久化及其时机3.搭建SQL Server 2005,使其为WF 和工作流持久化提供支持4.使用SqlWorkflowPersistenceService 服务5.在你的工作流代码中进行实例的加载和卸载6.使持久化服务能自动地加载工作流实例及卸载空闲中的工作流实例假如你花点时间真正考虑该怎样使用WF 和...
2019-12-30 19:35:41
学习完本章,你将掌握:1.workflow 活动是怎样形成的2.顺序工作流和状态机工作流之间的区别3.创建一个顺序工作流4.创建一个状态机工作流活动是WF 中workflow 处理的基本单位,假如你再把一个业务处理过程(或workflow 任务)进行分解,你会发现它由更小、更细的 任务组成。假如需设计这样一个大的任务,它需把信息送到一系列的数据处理系统进行处理,那么子任务或许就包括这样一些事情:从...
2019-12-30 13:28:14
学习完本章,你将掌握:1.使用不带参数和带参数二种方式初始化一个workflow 实例2.测定你运行中的workflow 实例的状况3.停止workflow 实例4.确定你的workflow 空闲或终止的原因一个workflow 实例由一个或多个活动组成。(我们将在第七章开始介绍各种活动:“Basic Activity Operations.”)“primary activity”或者“root...
2019-12-30 13:09:27
学习完本章后,你将掌握:1.在你的应用程序中使用workflow2.理解“WorkflowRuntime”对象的的基本功能3.知道如何启动和停止workflow 运行时4.能够使用各种workflow 运行时的相关事件当 你在WF 环境中执行任务时,需要一些东西来监管执行的过程,这个东西就是命名为“WorkflowRuntime”的对象。 WorkflowRuntime 启动一个独立的工作流任务。...
2019-12-30 11:33:43
学习完本章,你将掌握:1.了解工作流的概念和理论2.把WF 和BizTalk 与WCF 做比较3.开始使用WF 进行编程4.知道怎样使用Visual Studio 工作流支持以下是一小段进行邮政编码验证的代码string USCode = @"^(\d{5}$)|(\d{5}$\-\d{4}$)";
string CanadianCode = @"[ABCEGHJK...
2019-12-25 15:03:05
目录:System.ComponentModel特性命名空间与常用类System.ComponentModel.DataAnnotationsComponentModel - Classes 类ComponentModel - Structs 结构体ComponentModel - Interfaces 界面ComponentModel - Enums 枚举ComponentModel - Del...
2019-12-25 13:46:54
如下图所示:即使你用完整的命名空间 System.ComponentModel.Design.DateTimeEditor 仍然会报错。勇哥知道一定是没有引用程序集的原因,但是不知道引用哪一个。经过实验,发现是下面这个:--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上博文链接!...
2019-12-23 21:44:06
1、Readonly成员 可将readonly修饰符应用于结构的任何成员,它指示该成员不会修改状态。这比将readonly修饰符应用于struct声明更精细。public struct Point
{
public double X { get; set; }
public double Y { get; set; }
public double Dist...
2019-12-21 13:55:01
vs2019的安装方法,勇哥测试过可以用。方法引用如下:1、 通过在https://visualstudio.microsoft.com/zh-hans/downloads/ 下载VS2019, 之后会下载vs_enterprise__78682482.1526458798.exe visual studio 2019激活码密钥key:Visual Studio 2019 Enterprise...
2019-11-19 19:27:48
如今的软件市场,竞争已经进入白热化阶段,功能强、运算快、界面友好、Bug少、价格低都已经成为了必备条件。这还不算完,随着计算机的多媒体功能越来越强,软件的界面是否色彩亮丽、是否能通过动画、3D等效果是否吸引用户的眼球也已经成为衡量软件的标准。软件项目成功的三个要素是:资源、成本、时间。无论是为了在竞争中保持不败还是为了激发起用户对软件的兴趣,提高软件界面的美化程度、恰当的将动画和3D等效果引入应用...
2019-11-19 19:25:39
图形用户界面应用程序较之控制台界面应用程序最大的好处就是界面友好、数据显示直观。CUI程序中数据只能以文本的形式线性显示,GUI程序则允许数据以文本、列表、图形等多种形式立体显示。用户体验在GUI程序设计中起着举足轻重的作用-----用户界面设计成什么样看上去才足够的漂亮?控件如何安排才简单易用并且少犯错误?这些都是设计师需要考虑的问题。WPF系统不但支持传统的Winfrom编程的用户界面和用户体...