草庐IT

ref_this

全部标签

c# - this.Dispose() 在关闭后不会释放 Form 使用的内存。

我有一个Windows窗体应用程序,在该应用程序中单击某些按钮可以从第二窗体创建对象。在用户关闭此第二个表单时,此表单使用的内存不会被释放(根据任务管理器)。我尝试在退出按钮上使用this.dispose(),在主代码中使用this.close(),form2=null,并尝试在处理之前通过代码清除此表单中的所有控件。这些都不起作用,每次用户单击按钮时,应用程序的内存使用量都会增加,并且不会释放前一个实例使用的内存。我应该用什么来解决这个问题? 最佳答案 调用Dispose不会清除对象使用的内存。Dispose旨在用于运行用户定义的

c# - 误报 : Fix this implementation of IDisposable to conform to the dispose pattern

我的类实现了IDisposable并遵循了的模式publicvoidDispose(){Dispose(true);GC.SuppressFinalize(this);}但sonar仍然告诉我需要实现处置模式...https://sonarqube.com/issues#issues=AVtsPLjmtpYg8Dj4z0MU这是Sonar的缺陷还是我遗漏了什么? 最佳答案 我看到你已经解决了这个问题,但如果其他人有同样的问题,我会详细说明规则要求。这条规则的想法是允许潜在的派生类正确地处理你的类的成员。因此,如果您的类是密封的,则该

c# - 获取依赖属性内的 'this' 指针更改回调

我在一个类中有以下依赖属性:classFooHolder{publicstaticDependencyPropertyCurrentFooProperty=DependencyProperty.Register("CurrentFoo",typeof(Foo),typeof(FooHandler),newPropertyMetadata(OnCurrentFooChanged));privatestaticvoidOnCurrentFooChanged(DependencyObjectd,DependencyPropertyChangedEventArgse){FooHolderhol

c# - lock(this) 和静态对象上的锁之间的区别

以下两个代码片段中哪个更好用?staticreadonlyobject_locker=newobject();lock(_locker)或lock(this)this是当前实例的一个对象。那么,为什么lock(_locker)总是在书中?Related:Whatisthedifferencebetweenlock(this)andlock(thisLock)?Whyislock(this){…}bad? 最佳答案 可能会有很大的不同。两者之间最大的区别在于第一个示例使用单个对象锁定(因此使用static关键字),而第二个示例中的th

c# - 如何重新解释将 float 转换为 int?是否有用于 'this' 转换的非静态转换运算符或用户定义的赋值运算符?

这个问题在这里已经有了答案:Convertintbitstofloatbits(8个答案)关闭2年前。1.我如何重新解释将float转换为int(或将double转换为long)?floatf=2.0f;inti=(int)f;//causesconversion我只想将位模式从f复制到i。如何做到这一点?2。C#中的隐式和显式运算符使用一个中间对象,因为运算符函数是静态的publicstaticimplicitoperatorMyClass(doubles){returnnewMyClass(s);}....MyClassm=2.2;//thiscodeuses'm'andonein

c# - "ref"使用实例

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我正在努力如何在实际应用程序中使用“ref”(通过引用传递参数)。我想要一个简单且主要有意义的例子。到目前为止,我发现的所有内容都可以通过向方法添加返回类型轻松重做。有人知道吗?谢谢!

c# - 启动时隐藏表单 : why doesn't this. Hide() 隐藏我的表单?

我想在启动时隐藏我的应用程序的主窗口,所以我把它放在构造函数中:this.Hide();但这并没有隐藏我的表格。好像我只能得到按钮来隐藏表单。我在这里做错了什么吗? 最佳答案 你可以使用这行代码。它不会隐藏它,但会最小化:this.WindowState=FormWindowState.Minimized;此外,如果您也不希望它显示在任务栏上,您可以添加这一行:this.ShowInTaskbar=false;但是,如果您一开始就不想让表单可见,为什么还要创建表单呢? 关于c#-启动时隐

c# - 如何从抛出异常的方法中通过 out/ref 参数获取值?

此代码输出“输出值”。classP{publicstaticvoidMain(){stringarg=null;try{Method(outarg);}catch{}Console.WriteLine(arg);}publicstaticvoidMethod(outstringarg){arg="outvalue";thrownewException();}}但是这个没有。classP{publicstaticvoidMain(){object[]args=newobject[1];MethodInfomi=typeof(P).GetMethod("Method");try{mi.In

c# - Roslyn 代码分析器——什么时候应该使用 "this."?

在使用实例成员时,我总是明确地使用我的代码,在它们前面加上this.和静态成员,在它们前面加上类型名称。Roslyn似乎不喜欢这样,并礼貌地建议您可以在代码中适本地省略this.和Type.......所以我会在哪里做这个。..(没有双关语意)publicvoidDoSomethingCool(){this.CallAwesomeMethod();CoolCucumber.DoSomethingLessAewsome();}...roslyn建议我这样做...publicvoidDoSomethingCool(){CallAwesomeMethod();DoSomethingLessA

c# - 接口(interface)继承多个接口(interface) : how is this handled by a C# compiler?

最近我发现C#允许Aninterfacecaninheritfromoneormorebaseinterfaces.例如,Caliburn.Micro中的IScreen在http://caliburnmicro.codeplex.com/SourceControl/latest#src/Caliburn.Micro/IScreen.cs中执行此操作namespaceCaliburn.Micro{publicinterfaceIScreen:IHaveDisplayName,IActivate,IDeactivate,IGuardClose,INotifyPropertyChangedE