2012年4月2日

C#4.0 新特性 - 泛型委托,Action,Func用法

摘要: //Action 无返回值 执行一个void方法Action<string> myAction;//Func 最后一个参数接受返回值 Func<string, string> myFunc; Action<string> action = new Action<string>(delegate(string name) { MessageBox.Show("Hello" + name); }); private void Button_Click_1(object sender, RoutedEventArgs e) { my 阅读全文

posted @ 2012-04-02 23:03 项目管理之家 阅读(497) 评论(0) 推荐(0) 编辑

泛型接口,泛型委托,泛型方法,泛型约束

摘要: 泛型接口 没有泛型接口,每次试图使用一个非泛型接口(如IComparable)来操纵一个值类型时,都会进行装箱,而且会丢失编译时的类型安全性。这 会严重限制泛型类型的应用。所以,CLR提供了对泛型接口的支持。一个引用类型或值类型为了实现一个泛型接口,可以具体指定类型实参;另外,一个类型也可 以保持类型实参的未指定状态来实现一个泛型接口。来看一些例子: 以下泛型接口定义是作为FCL的一部分发布的:publicinterface IEnumerable<T> : IDisposable, IEnumerator {T Current { get; }}复制代码 下面这个示例实现了上述泛 阅读全文

posted @ 2012-04-02 21:54 项目管理之家 阅读(2357) 评论(0) 推荐(0) 编辑

2012年4月1日

wpf- DataGrid 常用属性和事件

摘要: 组件所在命名空间:System.Windows.Controls组件常用方法:BeginEdit:使DataGrid进入编辑状态。CancelEdit:取消DataGrid的编辑状态。CollapseRowGroup:闭合DataGrid的行分组。CommitEdit:确认DataGrid的编辑完成。ExpandRowGroup:展开DataGrid的行分组。GetGroupFromItem:从具体Item中得到分组。ScrollIntoView:滚动DataGrid视图。组件常用属性:AlternatingRowBackground:获取或设置一个笔刷用来描绘DataGrid奇数行的背景。A 阅读全文

posted @ 2012-04-01 15:32 项目管理之家 阅读(19496) 评论(0) 推荐(2) 编辑

2012年3月28日

C#发展的历程C#1.0,C#2.0,C#3.0,C#4.0

摘要: 1:C#1.0完全是模仿Java,并保留了C/C++的一些特性如struct,新学者很容易上手2:C#2.0加入了泛型,也与Java1.5的泛型如出一 辙3:C#3.0加入了一堆语法糖,并在没有修改CLR的情况下引入了Linq,简直是神来之笔,虽然很多项目出于各种各样如性能之类的原因没有采用,但非 常适合小型程序的快速开发,减轻了程序员的工作量,也提高了代码的可读性;4:C#4.0增加了动态语言的特性,从里面可以看到很多javascript、 python这些动态语言的影子。虽然越来越偏离静态语言的道路,但从另一个角度来说,这些特性也都是为了提高程序员的生产力。至于被接受与否,还是让时 间来说 阅读全文

posted @ 2012-03-28 21:56 项目管理之家 阅读(1576) 评论(0) 推荐(1) 编辑

2012年3月27日

Database-Context

摘要: 需要通过一个容器将这些类映射到数据库,这里称为 Database-Context:publicclass MyDomainContext : DbContext { public DbSet<Order> Orders { get; set; } public DbSet<OrderDetail> OrderDetails { get; set; } static MyDomainContext() { Database.SetInitializer<MyDomainContext>( new DropCreateDataba... 阅读全文

posted @ 2012-03-27 23:52 项目管理之家 阅读(638) 评论(0) 推荐(0) 编辑

LINQ技术的基础 - C#3.0

摘要: LINQ技术的基础 - C#3.0自动属性隐式类型对象集合初始化器匿名类扩展方法Lambda表达式自动属性这个概念很简单,其简化了我们在.NET的时候手写一堆私有成员+属性的编程方式,我们只需要使用如下方式声明一个属性,编译器会自动生成所需的成员变量。publicclassCustomer{publicintId {get;set; }publicstringName {get;set; }}在我使用LINQ完成的项目中,使我了解到自动属性方便的一个用途如下:在使用LINQ获取数据的过程中,我们常常需要使用select new语句查询出一个对象(往往是IEnumerable类型的)用于数据绑定 阅读全文

posted @ 2012-03-27 22:09 项目管理之家 阅读(368) 评论(0) 推荐(0) 编辑

2012年3月24日

在Silverlight项目中采用MVVM模式的好处和优缺点

摘要: 在Silverlight项目中采用MVVM模式 1,对于视图-逻辑的分离便于后期对原有功能扩展和维护,当UI变化时,ViewModel中的逻辑不需要进行变化 2,可以仅仅通过Blend实现简单的功能,而不需要写任何代码。 在实现过程中,不要只是为了实现MVVM而MVVM,而应该根据实际情况进行取舍,事实上,由于Silverlight只是WPF的一个子集,其对MVVM模式在某些方面的支持仍有所欠缺: 1,对枚举类型绑定比较困难,如将枚举类型绑定至RadioButton 2,Silverlight4中仅仅对继承ButtonBase的控件实现了Command属性,在实际的使用中,对于其它的事件可.. 阅读全文

posted @ 2012-03-24 12:30 项目管理之家 阅读(3704) 评论(1) 推荐(1) 编辑

MVVM之Command详谈

摘要: Command有两个功能:a:执行一个特殊的行为:command的主要功能。b:确定某一UIElement的视觉状态(visual state):例如确定button是否可用。DelegateCommand:实现了ICommand,当需要使用command时,可用使用此类。a:CanExecuteChanged事件和CanExecute方法被用来确定command所施加控件的视觉状态,它们是这样工作的:当某command施加于某控件时,控件会调用CanExecute方法,来确定初始的视觉状态,假设调用者是button,如果CanExecute方法返回false,button会被禁用。butto 阅读全文

posted @ 2012-03-24 12:22 项目管理之家 阅读(954) 评论(0) 推荐(0) 编辑

2012年3月23日

WorkFlow文章收集

摘要: http://www.cnblogs.com/chegan/archive/2009/06/23/1508972.html 阅读全文

posted @ 2012-03-23 00:38 项目管理之家 阅读(130) 评论(0) 推荐(0) 编辑

DB byte[] 转为bitmapImage,bitmapImage转为byte[] to db

摘要: 将图片存入数据库中,和一般的做法一样,将图片文件保存成字节流。在SQL2005以上的版本有Image类型可以用来保存字节数组变量。因为需要将图片保存至数据库,必须取得图片的Stream, 在设置Image控件的Srouce属性应该赋值为图片的Steram。BitmapImage bitmapImage;bitmapImage = new BitmapImage();bitmapImage.BeginInit();bitmapImage.StreamSource = System.IO.File.OpenRead(@"E:\2.jpg");bitmapImage.EndIni 阅读全文

posted @ 2012-03-23 00:18 项目管理之家 阅读(691) 评论(0) 推荐(0) 编辑

导航