文章分类 -  C# 知识积累

摘要:使用sqlcommand对象来返回数据集合的方法、string strconn="data source=billgates;initial catalog=test;integrated security=SSPI;";SqlConnection conn=new SqlConnection(st... 阅读全文
posted @ 2014-08-25 13:57 邹邹 阅读(20344) 评论(0) 推荐(1)
摘要:在程序中,类的静态成员变量(c#:static;vb:shared),在使用时,会在该类的多个实例之间共享。在多线程场合下,也不例外。有些读者或许会想到如何创建每个线程自己的静态变量呢,这里ThreadStaticAttribute就提供了一种十分简单的方法。可以通过追加自定义特性“c#:[Thre... 阅读全文
posted @ 2014-08-14 09:10 邹邹 阅读(1841) 评论(0) 推荐(0)
摘要:CultureInfo简述CultureInfo类位于System.Globalization命名空间内,这个类和这个命名空间许多人都不了解也认为不需要太多了解,实际上,你写的程序中会经常间接得使用这些类。简单的说:当进行数字,日期时间,字符串匹配时,都会进行CultureInfo的操作,也就是不同... 阅读全文
posted @ 2014-08-08 10:34 邹邹 阅读(479) 评论(0) 推荐(0)
摘要:Sometimes you need to render reports programmatically instead of using the Report Manager or Report Viewer interface. This might happen, for example, ... 阅读全文
posted @ 2014-07-28 20:17 邹邹 阅读(694) 评论(0) 推荐(0)
摘要:很早就发现在vs2008中应用web service有两种方式,即Add Web Reference和Add Service Reference,但是一直不是很清楚这两者有什么区别。趁着今天有空实验一下这两者的区别并记录下来供大家参考。首先在网上查找,发现有如下两个主要区别:1.Add Web Re... 阅读全文
posted @ 2014-07-28 19:37 邹邹 阅读(295) 评论(0) 推荐(0)
摘要:You can do this with reflection, you will have to maintain it when Microsoft make changes, but it does work I just tested: internal class SqlExce... 阅读全文
posted @ 2014-07-04 10:04 邹邹 阅读(269) 评论(0) 推荐(0)
摘要:using System;using System.Collections.Generic;using System.Text;using System.ComponentModel;namespace Demo{ class Program { public static... 阅读全文
posted @ 2014-06-18 15:27 邹邹 阅读(126) 评论(0) 推荐(0)
摘要:对象的创建方式,始终代表了软件工业的生产力方向,代表了先进软件技术发展的方向,也代表了广大程序开发者的集体智慧。以new的方式创建,通过工厂方法,利用IoC容器,都以不同的方式实现了活生生实例成员的创生。而本文所关注的Lazy也是干这事儿的。不过,简单说来,Lazy要实现的就是按“需”创建,而不是按... 阅读全文
posted @ 2014-06-18 11:11 邹邹 阅读(207) 评论(0) 推荐(0)
摘要:共有两组 LINQ 标准查询运算符,一组在类型为IEnumerable的对象上运行,另一组在类型为IQueryable的对象上运行。构成每组运算符的方法分别是Enumerable和Queryable类的静态成员。这些方法被定义为作为方法运行目标的类型的“扩展方法”。这意味着可以使用静态方法语法或实例... 阅读全文
posted @ 2014-04-24 08:57 邹邹 阅读(347) 评论(0) 推荐(0)
摘要:在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用where上下文关键字指定的。下表列出了六种类型的约束:约束说明T:结构类型参数必须是值类型。可以指定除 Nulla... 阅读全文
posted @ 2014-04-23 16:08 邹邹 阅读(126) 评论(0) 推荐(0)
摘要:C#在类工厂中动态创建类的实例,所使用的方法为:1. Activator.CreateInstance (Type)2. Activator.CreateInstance (Type, Object[])两种方法区别仅为:创建无参数的构造方法和创建有参数的构造函数。//Activator.Creat... 阅读全文
posted @ 2014-04-23 15:12 邹邹 阅读(171) 评论(0) 推荐(0)
摘要:比如我在项目中使用了图片,但是这个图片我不可能用绝对路径写死,比如c:\test.jsp,如何得到当前路径呢:System.IO.Directory.GetCurrentDirectory()得到当前路径是:G:\项目\RFID\traceInfoPlatClient\traceInfoPlatCl... 阅读全文
posted @ 2014-04-23 14:46 邹邹 阅读(137) 评论(0) 推荐(0)
摘要:下面这个例子是用来扩展string, 也可以是其他对象。请大家注意this关键字和静态类namespace ConsoleApplication2 { class Program { static void Main(string[] args) ... 阅读全文
posted @ 2014-04-18 14:08 邹邹 阅读(331) 评论(0) 推荐(0)
摘要:一.为什么需要全局键盘监听?在某些情况下应用程序需要实现快捷键执行特定功能,例如大家熟知的QQ截图功能Ctrl+Alt+A快捷键,只要QQ程序在运行(无论是拥有焦点还是处于后台运行状态),都可以按下快捷键使用此功能...这个时候在程序中添加键盘监听肯定不能满足需求了,当用户焦点不在App上时(如最小化,或者用户在处理其它事物等等)键盘监听就失效了二.怎样才能实现全局键盘监听?这里需要用到Windows API,源码如下:(可以作为一个工具类[KeyboardHook.cs]收藏起来)[特别说明:下面的源码来自某网友,很久以前收集的,也找不到出处了,如有版权问题请联系我]using System 阅读全文
posted @ 2014-04-03 09:17 邹邹 阅读(413) 评论(0) 推荐(0)
摘要:MSDN建议按照下面的模式实现IDisposable接口:public class Foo: IDisposable2 {3 public void Dispose()4 {5 Dispose(true);6 GC.SuppressFinalize(this);7 }8 9 protected virtual void Dispose(bool disposing)10 {11 if (!m_disposed)12 {13 if (disposing)14 ... 阅读全文
posted @ 2014-03-09 12:05 邹邹 阅读(145) 评论(0) 推荐(0)
摘要:Command有2种玩法,分别是DelegateCommand和CompositeCommand,它们都派生于ICommand接口。ICommand的接口类型定义如下: public interface ICommand { event EventHandler CanExecuteChanged; bool CanExecute(object parameter); void Execute(object parameter);}Command上不是有2个方法吗?Execute和CanExecute。首先执行CanExecute,根据返回... 阅读全文
posted @ 2013-12-12 15:12 邹邹 阅读(3065) 评论(0) 推荐(0)
摘要:假设我们有一个类:Productpublic class Product{ public string Id { get; set; } public string Name { get; set; }}Main函数如下:static void Main(){ List products = new List() { new Product(){ Id="1", Name="n1"}, new Product(){ Id="1", Name="n2"}, new Product(){ Id="2" 阅读全文
posted @ 2013-12-11 15:30 邹邹 阅读(181) 评论(0) 推荐(0)
摘要:---恢复内容开始---我们在使用委托的过程中,除了为每个参数和返回类型定义一个委托之外,也就是说为每一个方法(作为参数的方法)定义一个委托,我们还可以使用Action和Func委托。 泛型Action委托表示引用一个void返回类型的方法。Action委托类存在不同的变体,可以传递至多16种不同的参数类型,没有泛型参数的Action类可以调用没有参数的方法。例如:Action调用带一个参数的方法,Action调用带两个参数的方法等 Func的用法和Action用法类似,但是Func表示引用一个带返回类型的方法,Func也存在不同的变体,至多可以传递16个参数类型和1个返回类型,例如:Fu.. 阅读全文
posted @ 2013-12-11 15:23 邹邹 阅读(283) 评论(0) 推荐(1)
摘要:首先为假设有一个应用程序CAStudy,接着右键添加一个资源文件Resource1.resx。Resource1.resx里面如下:Main函数如下:static void Main(){ ResourceManager resourceManager = new ResourceManager( "CAStudy.Resource1", Assembly.GetExecutingAssembly()); Console.WriteLine("String1 : " + resourceManager.GetString("String1&qu 阅读全文
posted @ 2013-12-11 14:59 邹邹 阅读(167) 评论(0) 推荐(0)
摘要:This example shows how to dynamically load assembly, how to create object instance, how to invoke method or how to get and set property value.// create instance of class DateTimeDateTime dateTime = (DateTime)Activator.CreateInstance(typeof(DateTime));// create instance of DateTime, use constructor w 阅读全文
posted @ 2013-12-11 14:45 邹邹 阅读(221) 评论(0) 推荐(0)