Jecho

导航

随笔分类 -  C#

1 2 下一页

(转)什么时候要抛出异常?
摘要:在编写代码的过程中,经常会遇到这样的选择,检查到一个不正常的情况,或者某个操作失败,或者检测到某个异常,此后该怎么办?是抛出一个异常?还是放回一个表示操作失败的返回值?前一段在北京和小汤他们谈起这个问题的时候,有了一些粗略的想法。这段时间在 Leo4Net 的开发中,一些想法逐步清晰起来。=== a... 阅读全文

posted @ 2015-10-09 15:34 Jecho 阅读(889) 评论(0) 推荐(0)

MEF——.NET中值得体验的精妙设计
摘要:摘要:.NET 是 Microsoft XML Web services 平台。MEF是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的。下面让我们一起来看。 MEF(Managed Extensibili... 阅读全文

posted @ 2015-08-05 16:06 Jecho 阅读(221) 评论(0) 推荐(0)

C# Parallel用法
摘要:在命名空间System.Threading.Tasks下,有一个静态类Parallel简化了在同步状态下的Task的操作。Parallel主要提供了3个有用的方法:For、ForEach、Invoke。For方法,主要用于处理针对数组元素的并行操作,如下:staticvoidMain(string[... 阅读全文

posted @ 2015-07-10 10:16 Jecho 阅读(1089) 评论(0) 推荐(0)

用Parallel.For()和Parallel.For<TLocal>()方法实现并行运行迭代
摘要:Parallel类是.NET 4中新增的抽象线程类。如果你开发用的是VS2008或更低版本,那么就直接关闭吧,下面两个示例用了匿名委托,如果不知道匿名委托的语法,那么先去简单了解一下,不然很难理解示例代码。 Parallel.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Pa... 阅读全文

posted @ 2015-07-10 09:55 Jecho 阅读(242) 评论(0) 推荐(0)

详解 ManualResetEvent
摘要:今天详细说一下ManualResetEvent它可以通知一个或多个正在等待的线程已发生事件,允许线程通过发信号互相通信,来控制线程是否可心访问资源当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用Reset以将ManualResetEvent置于非终止状态。此线程可被视为控制Ma... 阅读全文

posted @ 2015-07-02 16:29 Jecho 阅读(193) 评论(0) 推荐(0)

线程阶段性总结——APM,ThreadPool,Task,TaskScheduler ,CancellationTokenSource
摘要:不管我们使用thread,threadPool,task,还是APM异步,本质都是在使用多线程。对于新手来说,不太敢用多线程的原因,就我个人的体验来说,就是对多线程的异常捕获方式或时机缺乏了解,而一旦出现异常没有捕获,将会带来难以发现的bug,进而造成系统崩溃。而多线程本身也不是一朝一夕就能学好的,... 阅读全文

posted @ 2015-07-01 13:53 Jecho 阅读(502) 评论(0) 推荐(0)

c# 获取路径
摘要:一、获取当前文件的路径1.System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName获取模块的完整路径,包括文件名。2.System.Environment.CurrentDirectory获取和设置当前目录(该进程从中启动的... 阅读全文

posted @ 2015-01-20 16:12 Jecho 阅读(277) 评论(0) 推荐(1)

Base class does not contain a constructor that takes '0' argument
摘要:刚刚在写一段直播室网站中的一段程序遇,突然遇到一个错误,如下'TVLLKBLL.BaseClass' does not contain a constructor that takes 0 arguments,根据撑握的C#知道来剖析一下该错误的原因俱体情况是这样的,业务逻辑中有两个类,分别是Pub... 阅读全文

posted @ 2015-01-12 12:47 Jecho 阅读(329) 评论(0) 推荐(0)

C#中dynamic的正确用法
摘要:dynamic是FrameWork4.0的新特性。dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性。比如,即使你对GetDynamicObject方法返回的对象一无所知,你也可以像如下那样进行代码的调用,编译器不... 阅读全文

posted @ 2015-01-08 16:11 Jecho 阅读(248) 评论(0) 推荐(0)

线程 ManualResetEvent 类
摘要:Reset(): 当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Reset 以将 ManualResetEvent 置于非终止状态。此线程可被视为控制 ManualResetEvent。为了把状态修改为无信号的,必须调用ReSet()方法。WaitOne(): 调用Manu... 阅读全文

posted @ 2014-08-08 10:41 Jecho 阅读(236) 评论(0) 推荐(0)

C#中的弱引用(WeakReference)
摘要:我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的。我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET中提供了WeakReference来实现。弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存。对于那些创建便宜但耗费大量内存的对象... 阅读全文

posted @ 2014-08-01 13:28 Jecho 阅读(335) 评论(0) 推荐(0)

C#弱引用
摘要:加菲猫Just have a little faith.C#弱引用.NET框架提供了另一有趣的特色,被用于实现多样的高速缓存。在.NET中弱引用通过System.WeakReference类实现。弱引用为引用的对象提供一项机制,使被引用的对象能够被垃圾收集器作用。ASP.NET高速缓存就使用了弱引用... 阅读全文

posted @ 2014-08-01 13:20 Jecho 阅读(240) 评论(0) 推荐(0)

MSTest DeploymentItemAttribute
摘要:该attribute可以把指定的文件拷贝到每次运行的Out目录下,比如有一个config文件,那么用下面的命令, [TestClass] [DeploymentItem("Default.config")] public class NewSMTest则每次MSTEST运行,都会拷到其OUT下... 阅读全文

posted @ 2014-07-29 10:54 Jecho 阅读(192) 评论(0) 推荐(0)

delegate, event - 里面涉及的参数类型必须完全一致,子类是不行的
摘要:public void TestF() { Test += Fun; } public void Fun(Person p) { } // 如 Person变成 SubPerson,则报错。。public void Fun(SubPerson p) { } public event A... 阅读全文

posted @ 2014-07-24 16:41 Jecho 阅读(126) 评论(0) 推荐(0)

Struct 是值类型,不支持继承
摘要:Struct 是值类型,不支持继承 阅读全文

posted @ 2014-07-24 16:40 Jecho 阅读(157) 评论(0) 推荐(0)

C# Producer Consumer (生产者消费者模式)demo
摘要:第一套代码将producer Consumer的逻辑写到from类里了,方便在demo的显示界面动态显示模拟生产和消费的过程。 第二套代码将producer Consumer的逻辑单独写到一个类中,使用委托的方法在from中回显生产消费的过程。 Demo中均以3个线程作为消费者,1个线程作为生产... 阅读全文

posted @ 2014-07-07 10:38 Jecho 阅读(711) 评论(0) 推荐(0)

C#中的Finalize,Dispose,SuppressFinalize的实现和使用介绍
摘要:http://www.csharpwin.com/csharpspace/8927r1397.shtmlMSDN建议按照下面的模式实现IDisposable接口:1 public class Foo: IDisposable2 {3 public void Dispose()4 {5 Dispose... 阅读全文

posted @ 2014-06-27 15:06 Jecho 阅读(245) 评论(0) 推荐(0)

C# using
摘要:using(Mype x = ...), Mype必须实现了IDisposable, 因为CLR会自动调用Dispose()方法 阅读全文

posted @ 2014-06-27 12:29 Jecho 阅读(166) 评论(0) 推荐(0)

is
摘要:MyType a = null;if (a is MyType) == False 阅读全文

posted @ 2014-06-26 17:25 Jecho 阅读(122) 评论(0) 推荐(0)

C# new override
摘要:A -> virtual FunB : A -> override FunC : B -> override FunD : C -> new virtual FunE : D -> override FunE e;A = e -> C.FunB = e -> C.FunC = e -> C.FunD... 阅读全文

posted @ 2014-06-26 17:04 Jecho 阅读(119) 评论(0) 推荐(0)

1 2 下一页