Tag: .net

我如何编写一个unit testing来确定一个对象是否可以被垃圾收集?

关于我以前的问题 ,我需要检查一下,是否会被Castle Windsor实例化的组件可以在我的代码完成使用后被垃圾回收。 我已经在上一个问题的答案中尝试了这个build议,但至less对于我的代码来说,它似乎没有像预期的那样工作。 所以我想写一个unit testing,testing某个特定的对象实例是否可以在我的一些代码运行后被垃圾回收。 这可以做到可靠的方式吗? 编辑 根据Paul Stovell的回答,我目前有以下的testing成功: [TestMethod] public void ReleaseTest() { WindsorContainer container = new WindsorContainer(); container.Kernel.ReleasePolicy = new NoTrackingReleasePolicy(); container.AddComponentWithLifestyle<ReleaseTester>(LifestyleType.Transient); Assert.AreEqual(0, ReleaseTester.refCount); var weakRef = new WeakReference(container.Resolve<ReleaseTester>()); Assert.AreEqual(1, ReleaseTester.refCount); GC.Collect(); GC.WaitForPendingFinalizers(); Assert.AreEqual(0, ReleaseTester.refCount, "Component not released"); } private class ReleaseTester { public static int refCount = 0; public ReleaseTester() { […]

如何使用C#关键字作为属性名称?

使用asp.net MVC我想在视图中做到这一点: <%= Html.TextBox("textbox1", null, new { class="class1" }) %> 这个语句不能编译,因为class是C#中的关键字。 我想知道怎样才能逃避这个编译的属性名称。 如果将“class”属性更改为“Class”(大写C),则可以将其编译。 但这是不合适的,因为严格的xhtml说,所有的属性(和元素)名称必须是小写。

不可变的数据结构性能

我不明白如何能够作为一个集合是不可改变的,仍然有一个可以接受的性能。 从我读过的F#集内部使用红黑树作为他们的实现。 如果每次我们要为红黑树添加新的东西,我们必须基本上重新创build它,怎么会有好的performance? 我在这里错过了什么? 虽然我问这个F#的集合,我认为这是任何其他语言具有或使用不变的数据结构相关。 谢谢

char 160在我的源代码中意味着什么?

我格式化数字string使用以下格式string“##。##”,在某些时候,我需要把这些数字string(1 234 567)转回像1234567.我试图去掉空字符但是发现 value = value.Replace(" ", ""); 由于某种原因,string保持1 234 567.看了string后,我发现 值[1]是160。 我想知道160是什么意思?

.Net WebBrowser.DocumentText不改变!

在我的vb.net程序中,我使用web浏览器向用户显示HTML预览。 我以前打了一个服务器来抓取HTML,然后返回一个asynchronous线程,并引发一个事件来填充WebBrowser.DocumentText与我返回的HTMLstring。 现在我设置它来抓取客户端上的所有信息,而不必打开服务器,我正在尝试提交相同的事件。 我看着代码通过,它具有正确的HTMLstring和一切,但是当我尝试去做 browser.DocumentText = _emailHTML DocumentText的内容保持为“ <HTML></HTML> ” 我只是想知道为什么没有设置DocumentText。 任何人有任何build议?

configuration节'system.web.extensions'不能被读取,因为它缺less一个节声明

我得到错误( configuration节system.web.extensions不能被读取,因为它缺less一个部分声明 ),同时安装我的Web应用程序在Server 2008 32位机与.NET Framework 4.0 。 但在2008年的r2 64位机器上效果不错。 这是我的webconfig文件信息 <configuration> <runtime> <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> </dependentAssembly> </assemblyBinding> </runtime> <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="2147483647"/> </webServices> </scripting> </system.web.extensions> </configuration> 任何想法摆脱这个错误? 注 :我已经检查了堆栈溢出中的所有相关条目,但没有任何对我有用

什么时候使用.NET BufferedStream类?

MSDN网站指出: 缓冲区是内存中用于caching数据的字节块,从而减less了对操作系统的调用次数。 缓冲区提高了读写性能。 缓冲区可以用于读取或写入,但不能同时使用。 BufferedStream的Read和Write方法自动维护缓冲区。 我应该在任何可能的场合使用这个课程吗?

我如何取消注册“匿名”事件处理程序

说如果我听一个事件: Subject.NewEvent += delegate(object sender, NewEventArgs e) { //some code }); 现在我该如何取消注册这个事件? 或者只是让内存泄漏?

是否有一个Linq方法添加一个单一的项目的IEnumerable <T>?

基本上我正在尝试做这样的事情: image.Layers 它会为除Parent层以外的所有图层返回一个IEnumerable,但在某些情况下,我只想做: image.Layers.With(image.ParentLayer); 因为它只是在几个地方使用,相比之下, image.Layers满意的通常使用的100年代。 这就是为什么我不想让另一个也返回Parent层的属性。

如何创build一个带有标签和值的Winformscombobox?

我主要是一个ASP.NET开发人员,但我正在一个WinForms应用程序,并注意到ASP.NETcombobox(HTMLselect)和WinForms。 我发现(也许是不正确的),WinForm的combobox只有一个“标签”,而ASP.NET允许你指定一个“标签”和“价值”。 我正在寻找使用WinFormscombobox(或其他类似的控件)与标签和值(Foobar / 42329)。 这可能吗? 我试图寻找答案,但没有提出太多。 如果没有办法做到这一点,那么如何devise一个WinFormcombobox来代表城市及其关联的数据库ID呢? 多伦多/ 2324 蒙特利尔/ 64547 温哥华/ 1213