草庐IT

保存本

全部标签

c# - 在 C# 中,我应该在哪里保存计时器的引用?

System.Threading.Timer的文档说我应该为它保留一个实时引用以避免它被垃圾收集。但是我应该在哪里做呢?我的main非常简单,我不知道在哪里保存引用:classProgram{staticvoidMain(){newSystem.Threading.Thread(myThreadStart).Start();newSystem.Threading.Timer(myTimerCallback,newMyStateObject(),0,5000);}}我考虑将引用保留在Program类的static字段中,假设static字段直到最后才被收集的应用程序。但我不确定这是最好的

C# 泛型通配符或如何保存对未知泛型继承的引用

好的,情况是这样的。我有一个FlexCollection类,其目的是保存FlexItem的一些专业列表,因此:publicclassFlexCollectionwhereT:FlexItem,new(){publicvoidAdd(Titem){...}...}FlexItem不是泛型类本身。我想要实现的是能够保持FlexItem的字段是对包含该对象的集合的引用。不幸的是,在C#中,不可能保留对模板类的“任何”特化的引用(如在Java中)。起初我尝试使用非通用接口(interface)IFlexCollection但它实际上迫使我对每个方法执行两次,即:publicclassFlexC

c# - 如何保存 ref 变量供以后使用?

所以这有效..publicMyClass(refAppleapple){apple=newApple("Macintosh");//Worksfine}但是有没有可能做这样的事情呢?privateApplemyApple;publicMyClass(refAppleapple){myApple=apple;}publicvoidModifyApple(){myApple=newApple("Macintosh");//doesnotchangetheinputvariablelikethefirstexampledid}当ref变量被复制到成员变量myApple时,它似乎失去了它的“r

c# - 为什么我的 XDocument 在我不想要的时候保存了声明?

我有以下代码:classProgram{staticvoidMain(string[]args){using(varstream=File.Create(@"C:\test.xml")){varxml=newXElement("root",newXElement("subelement1","1"),newXElement("subelement2","2"));vardoc=newXDocument(xml);doc.Declaration=null;doc.Save(stream);}}}我试图让XML在没有xml声明的情况下保存,但即使我取消了XDocument的声明,它仍然被保

c# - 将所有枚举保存在一个地方是个好主意吗?

当我构建类库时,我通常会创建一个文件Enums.cs来保存程序集中使用的所有枚举。这是一个例子:namespaceMyNamespace{publicenumColors{Red,Green,Blue}publicenumShapes{Circle,Square,Triangle}}这使我的所有枚举都易于查找、组织良好且易于在代码中访问。我想知道为什么这不是一个好主意? 最佳答案 通常按模块化而不是按种类来安排定义会更好。 关于c#-将所有枚举保存在一个地方是个好主意吗?,我们在Stac

c# - ConfigurationManager 不保存设置

这是我使用的代码:privatevoidSaveConfiguration(){if(txtUsername.Text!=""&&txtPassword.Text!=""){ConfigurationManager.AppSettings["Username"]=txtUsername.Text;ConfigurationManager.AppSettings["Password"]=txtPassword.Text;MessageBox.Show("Suconfiguracionguardoexitosamente.","Exito!");this.Close();}else{Mes

c# - NHibernate 对象引用一个未保存的 transient 实例在刷新之前保存 transient 实例

我正在尝试保存一个复杂的对象,该对象内部有许多引用元素,而且它在大多数情况下都能完美运行。但是在某些情况下,我们会遇到以下异常,objectreferencesanunsavedtransientinstance-savethetransientinstancebeforeflushingorsetcascadeactionforthepropertytosomethingthatwouldmakeitautosave.Type:Namespace.Core.Client.ClientDetails,Entity:Namespace.Core.Client.ClientDetails问

c# - 静态方法总是保存在内存中吗?

我的整个开发团队都认为,静态方法使用起来很糟糕。在某些情况下,我真的看不出有什么缺点。当我以前需要无状态方法时,我总是为此目的使用静态方法。我同意他们的一些观点,例如我知道它们很难测试(尽管并非不可能)。我不明白的是,他们声称,静态方法始终保存在内存中,并将填充基本内存使用量。所以,如果你在你的程序中使用了100个静态方法,当程序启动时所有的方法都被加载到内存中并且会不必要地填满内存。此外,静态方法会增加内存泄漏的风险。这是真的吗?只为调用方法而必须创建类的新实例是非常不方便的。但他们现在就是这样做的,在方法中间创建一个实例并调用该方法,这可能只是一个静态方法。

c# - MailKit 保存附件

我正在尝试保存邮件中的附件foreach(MimeKit.MimeEntityatmessage.Attachments){at.WriteTo("nameFile");}文件已保存,但打开时出现错误文件已损坏或太大此文件的大小为88kb,但文件的大小应等于55kb。我认为在所有记录的消息文件中。如何只录制附件?MailKitv1.2.0.0MimeKit1.2.0.0 最佳答案 您正在保存整个MIME对象(包括header)。您需要做的是保存内容。foreach(varattachmentinmessage.Attachments

c# - WPF-保存文件对话框

我在WPF中使用SaveFileDialog导出到用户选择的特定位置的excel文件。但是在SaveFileDailog打开和用户点击对话框上的Cancel按钮之间,我收到另一个对话框,上面写着“Doyouwanttosavechangesyoumade到'Sheet1'?”然后是“Exportcompleted”而不是取消导出。那么我该怎么做才能解决这个问题呢?WPF中的任何内容,例如'DialogResult'是否与winForms中的相同? 最佳答案 如果用户保存,SaveFileDialog将返回true(ShowDialo