自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 欲练此功必先自宫---从C#到Javascript(1)

由于时代需要,我也只能被自愿的去加入javascript的行列,但是作为C#拥护者,当初识js的时候,真的很不适应,我始终坚信这是门非常适合初学者,不,是完全没有编程经验的开发者,这门语言简直再好不过了,没有很多规约,可以说有些随意的定义,非常适合没有什么概念的小朋友。这边开始,我透过c#的对比,来开始伟大的jsp研究了。1. objec == null?我们在C#中通常有if

2015-03-23 20:02:04 427

原创 让那些做面试官的屌丝lead不再抖脚系列(六)--- 众望所归的async/await

终于我们到最后了,从.net4.5开始出现的async/await关键字永远是各类面试以及开发的重点,这里先不详细介绍,在这篇中我们通过几个简单的例子来讲解:1. 加了await关键字后是同步还是异步?    这问题不好回答,但是如果调用的xxxAsync方法你不加await,那肯定是异步执行了,加了await后可以等待await后语句执行完,但是主线程并不是阻塞的,经常会有同学拿

2015-03-23 14:36:38 590

原创 让那些做面试官的屌丝lead不再抖脚系列(五)--- UI线程到底是什么

因为之前一直是做C/S这块,例如wpf这种已经更新的好玩的东西,因此好多面试官都会问,而且很多地方也都需要用到,你知道wpf的异步实现么,或者你知道UI线程怎么样才能被调用么?这些问题看起来很好准备,其是有老大学问了,之前看到个帖子:http://www.cnblogs.com/Zhouyongh/archive/2011/01/12/1933414.html这个写的非常非

2015-03-18 16:51:34 616

原创 让那些做面试官的屌丝lead不再抖脚系列(四)---线程定义(Thread,Task等),

好了扯了那么多死记硬背的,我们需要点活的。  在写实际的之前,我们先了解下异步的历史,当然我们在之后会找一个篇幅来引入我们的.net的发展史,这边先了解下异步。BeginEndInvoke  其实最原始的异步,大家肯定都用过,所谓的BeginXX/EndXX,详细点就是BeginInvoke()开始调用和EndInvoke阻塞线程,即类似于wait。感觉还是说的太专业了,很简单

2015-03-17 17:36:29 517 1

原创 让那些做面试官的屌丝lead不再抖脚系列(三)---同步异步探讨->lock

这次来讨论下lock,首先为神马要lock?为了线程同步以及线程安全。那神马是lock?lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。 如果其他线程尝试进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。这是msdn上的解释,临界区是神马,其实就是同一个时候,只有一个线程可以访问的地方,换言之其实就是线程同步的区域,那lock的运作机

2015-03-10 18:00:49 528 1

原创 让那些做面试官的屌丝lead不再抖脚系列(二)---同步异步探讨->线程的一些方法

这次我们先初步讨论下线程的一些方法,作为基础或者说就是,出个护腕武装下自己~  1. System.Threading.Thread 类:     不管这个线程是你刻意创建的,或者是本身就存在的,比如主线程,CLR都会为每个托管线程创建一个Thread的对象来操控线程,因此我们在做开发时候可以拿到任何我们所需要的线程句柄,或者说任何线程实例对象,这是CLR干的好事,也是面向对象语言的优势。

2015-03-09 17:46:44 410

原创 让那些做面试官的屌丝lead不再抖脚系列(一)---同步异步探讨->进程和线程

面对现在越来越多的面试官的浓郁的乡土气息,以及一些欠缺的弱点会被面试官抓着不放的现实,当然还为了不让面试官在你不停思考过程中拼命抖脚,我们值得对一些目前版本的.net中常见面试讨论点以及常用的看上去能把代码变的很高端的问题罗列出来一起讨论讨论~                                                           ————写在前面的废话第一

2015-03-09 17:00:22 527

原创 [Learing in Win8App] CollectionViewSource集合与SemanticZoom控件的结合

在wpf中,我们也曾出现过一种情况,就是一个集合A中包含2中类型的集合,Men和Women,然后Men中又包含了一堆men的数据,women中也一样,这样的一种分类集合,我们在WPF中运用的不多,在wpf中基本都是简单的集合绑定,没有牵扯到所谓的分类集合,但是在Win8 app中,这个问题就不可避免了,比如我们打开手机可以看到的app管理页面,其中最顶层应该是ABCDEFG这样的字母导航,当你按了

2014-01-26 10:12:22 956

原创 基于WPF的Dispatcher应用及探讨(四)

在前面,我们将设想进行了实现,但是在exception阶段,我们只是粗略跳过,很明显这样是不够的,我们需要自定义的异常处理,同时也更希望明确知道,是哪个线程报错,因此容易想到我们需要对Action[]组中每个Action进行标记,但是肿么标记呢,KeyPair还是Dic?算了为了容易看懂,我们重新定义个新的ActionDictionary类:using System;using System

2014-01-06 16:02:55 435

原创 基于WPF的MVVM架构实践

MVVM其实网上描述很多了,这里具体原理就不加赘述了,直接贴一下基础架构,同时这个也会在之后的实例中用到这里这个实践框架:首先ViewBase:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Controls;using S

2013-12-30 20:21:39 538

原创 基于WPF的Dispatcher应用及探讨(三)

现在我们在搭建好的MVVM架构中实现Dispatcher:我们把之前作成的CustomizeDispatcher放入PresenterBase中调用,using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Input;using S

2013-12-30 20:09:40 789

原创 基于WPF的Dispatcher应用及探讨(二)

上一节中我们完成了第一步的CustomizeDispatcher的方法编写,不过犯了个很严重的错误,我们为什么要在dispatcher中再对线程进行BeginInvoke调用呢?异步中套异步,根本停不下来,因此这里我们完善了昨天的方法,并且加入了异常处理以及对整个线程组的控制: public List exceptionList = new List(); public b

2013-12-30 19:59:44 488

原创 基于WPF的Dispatcher应用及探讨(一)

之前开发过的程序中,对于WPF的后台调用都是同步完成的,所以当要获取多个数据源进行绑定时,同步调用会让代码看起来很难看,同时也会影响系统的效率,因此从这里开始,我们开始研究如何将wpf的后台线程进行分配,最终到前后台线程都可以进行自由分配。首先是参考:http://blog.csdn.net/harly5555/article/details/17657717 的文献,里面提供的方法帮

2013-12-29 21:59:43 573

转载 C# 并行线程探讨

参考书目:Professional.C#.4.0.and.NET.4.pdf 以及 Pro .NET 4 Parallel Programming in C#.pdfParallel Program in C#中有Delegate的Asynchronous也有Thread的Asynchronous,前者已经在《C#异步调用详细》中阐述清楚了,那它跟Thread的有什么区别呢?可

2013-12-29 20:12:20 529

原创 DataAnnotations方法定义WPF输入异常祥解

在MVVM中,我们一般将前台xaml需绑定的变量统一写在ViewModel中,而对于数据的验证,也会在viewModel中进行处理:这里详解DataAnnotations方法:首先ViewModel需要引用System.ComponentModel.DataAnnotations,接下来我们需要为viewModel建立viewModelBase类,方便所有viewModel统一处理验证,

2013-12-03 14:24:55 852

原创 [Play with T]_[C# 类操作] 简化范型方法

public abstract class ServiceAgentBase { private readonly IServiceClientFactory _factory; protected ServiceAgentBase(IServiceClientFactory factory) { Guard.Arg

2013-11-05 12:49:29 518

原创 [Play with T]_[C# 类与属性操作] 通过克隆实现ObjectMap对List的填充

之前的文章中提到,通过自定义的ObjectMap方法可以将Tfrom类型的对象转化为Tto类型的对象,但是如果我们需要将List转化为List呢,将ObjectMap方法塞入循环,但是结果却会使List集合中的对象都是同一个,原因很简单,传入ObjectMap方法的toEntity对象从开始到结束都没有被new过,用的都是同一个,因此作为引用类对象,很容易就会使整个list的值变得相同。

2013-09-16 17:39:26 668

原创 [Play with T]_[C# 类操作] 通过反射调用类型T的有参构造函数

As we all know, 我们可以通过方法: public void PlayTMethod(T value) where T:Object where T: new () { .... }实现对T的无参构造函数的调用。而以下是T的构造函数包含多个参数的情况:首先,假设我们的T会继承TBase类,这样,当T执行构造函数时,TBase的

2013-09-16 16:42:37 1157

原创 [Play with T]_[C# 类与属性操作] ObjectMap 方法 将TTfrom类的对象转换为TEntity对象

/// /// Generate SettingRow To Entity /// /// TInfo /// TEntity /// CellInfo in TRow /// MasterEntity /// Master Entity public TTo GenerateSettingRowToEntity(TFrom fromInfo, TTo toEn

2013-09-16 16:10:53 930

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除