Tag: 处理

如何判断是否放置了一个IDisposable对象引用?

有没有一种方法或其他一些轻量级的方法来检查引用是否是一个处置对象? 聚苯乙烯 – 这只是一个好奇(睡得好,不在生产代码)。 是的,我知道我可以在尝试访问对象的成员时捕获ObjectDisposedException 。

TransactionScope如何回滚事务?

我正在写一个集成testing,我将插入一些对象到数据库,然后检查,以确保我的方法是否检索这些对象。 我的数据库的连接是通过NHibernate的……我创build这样一个testing通常的方法是做到以下几点: NHibernateSession.BeginTransaction(); //use nhibernate to insert objects into database //retrieve objects via my method //verify actual objects returned are the same as those inserted NHibernateSession.RollbackTransaction(); 不过,我最近发现了一些显然可以用于这个目的的TransactionScope 。 我find的一些示例代码如下所示: public static int AddDepartmentWithEmployees(Department dept) { int res = 0; DepartmentAdapter deptAdapter = new DepartmentAdapter(); EmployeeAdapter empAdapter = new EmployeeAdapter(); using (TransactionScope txScope = new TransactionScope()) […]

如果我在使用声明结束之前返回,会发生什么情况? 这个configuration会被调用吗?

我有下面的代码 using(MemoryStream ms = new MemoryStream()) { //code return 0; } dispose()方法在using语句大括号}右边被调用? 由于我在using语句结束之前return , MemoryStream对象是否会正确处理? 这里发生了什么?

node.jssubprocess – spawn和fork之间的区别

这可能看起来像一个基本的问题,但我找不到任何文档: 分叉和产生一个node.js过程有什么区别? 我已经读过分叉是产卵的一个特殊情况,但是使用它们的每个使用情况/重新使用有什么不同?

如何删除一个lambda事件处理程序

可能重复: 在C#中取消订阅匿名方法 我如何取消注册“匿名”事件处理程序 我最近发现我可以使用lambda来创build简单的事件处理程序。 我可以例如订阅像这样的点击事件: button.Click += (s, e) => MessageBox.Show("Woho"); 但是,你会如何取消订阅?

正确的方式来处理图像/位图和图片框

我正在尝试开发Windows Mobile 6(在WF / C#中)应用程序。 只有一个窗体,窗体上只有一个PictureBox对象。 在这上面我画了所有想要的控件或任何我想要的。 我正在做两件事。 绘制自定义形状并从.png文件加载位图。 下一行在加载时locking文件(这是一个不希望的情况): Bitmap bmp = new Bitmap("file.png"); 所以我正在使用另一种方式来加载位图。 public static Bitmap LoadBitmap(string path) { using (Bitmap original = new Bitmap(path)) { return new Bitmap(original); } } 这是我猜得慢得多,但我不知道有更好的方式来加载图像,同时快速释放文件locking。 现在,当绘制图像时,我使用的方法是: public void Draw() { Bitmap bmp = new Bitmap(240,320); Graphics g = Graphics.FromImage(bmp); // draw something with Graphics here. […]

返回在使用块的中间

就像是: using (IDisposable disposable = GetSomeDisposable()) { //….. //…… return Stg(); } 我相信这不是一个适当的回归声明的地方,是吗?

案例中非穷举模式更好的例外

有没有办法让GHCi产生更好的exception信息,当它发现在运行时,一个调用产生的值不匹配函数的模式匹配? 它目前给出了产生非穷尽模式匹配的函数的行号,虽然有时候有时候需要一轮debugging,有时候我觉得是一遍又一遍地做同样的事情。 所以在我试图把解决scheme放在一起之前,我想看看是否还有别的东西存在。 除了给出行号之外,还有一个例外消息,表明它试图进行什么样的调用? 这甚至有可能吗?

在C#中访问Process.MainModule.FileName时如何避免Win32exception?

我开始了一个新的项目,列出所有正在运行的进程的完整path。 当访问一些进程时,程序崩溃并抛出一个Win32Exception 。 说明中列出了列出stream程模块时发生的错误。 最初我以为这个问题可能会发生,因为我在64位平台上运行它,所以我重新编译了CPUtypesx86和AnyCPU 。 不过,我也遇到了同样的错误。 Process p = Process.GetProcessById(2011); string s = proc_by_id.MainModule.FileName; 错误发生在第2行。 空白字段显示出现错误的进程: 有没有办法解决这个错误信息?

有什么办法可以在不closuresBaseStream的情况下closuresStreamWriter?

我的根本问题是,当在StreamWriter上using调用Dispose时,它也会处理BaseStream (与Close相同的问题)。 我有一个解决方法,但你可以看到,它涉及复制stream。 有没有办法做到这一点,而不复制stream? 这样做的目的是将string(最初从数据库中读取)的内容转换为stream,以便第三方组件可以读取该stream。 注意 :我无法更改第三方组件。 public System.IO.Stream CreateStream(string value) { var baseStream = new System.IO.MemoryStream(); var baseCopy = new System.IO.MemoryStream(); using (var writer = new System.IO.StreamWriter(baseStream, System.Text.Encoding.UTF8)) { writer.Write(value); writer.Flush(); baseStream.WriteTo(baseCopy); } baseCopy.Seek(0, System.IO.SeekOrigin.Begin); return baseCopy; } 用作 public void Noddy() { System.IO.Stream myStream = CreateStream("The contents of this string are unimportant"); My3rdPartyComponent.ReadFromStream(myStream); […]