草庐IT

c++栈对象的shared_ptr

全部标签

c# - C#获取当前工作簿对象

我一直在用C#编写一个应用程序,它在Excel电子表格中创建自定义文档属性,我有一个函数可以接收工作簿对象...然而,事实证明,实际获取当前工作簿对象非常烦人,我正在使用ExcelDNA添加功能,但是,我似乎无法将有效的工作簿COM对象传递给我的函数。 最佳答案 如果你需要用C#查找activeworkbook,如果你使用的是OfficeInterop,你可以试试这样的代码:(Workbook)Globals.ThisAddIn.Application.ActiveWorkbook;[Source]

c# - 在实例化对象时以编程方式使用字符串作为对象名称

这是一个人为的例子,但可以说我已经声明了对象:CustomObjfooObj;CustomObjbarObj;CustomObjbazObj;我有一个字符串数组:string[]stringarray=newstring[]{"foo","bar","baz"};我如何使用字符串数组以编程方式访问和实例化这些对象,并使用类似foreach的东西进行迭代:foreach(stringiinstringarray){`i`Obj=newCustomObj(i);}希望我试图传达的想法是清楚的。这在C#中可能吗? 最佳答案 您需要清楚对象

c# - 不存在从对象类型 System.Web.UI.WebControls.TextBox 到已知托管提供程序 native 类型的映射

这是我的代码SqlCommandcmd=newSqlCommand("spRegisterUser",con);cmd.CommandType=CommandType.StoredProcedure;SqlParameterusername=newSqlParameter("@UserName",txtUserName.Text);SqlParameterpassword=newSqlParameter("@Password",txtPassword);SqlParameteremail=newSqlParameter("@Email",txtEmail.Text);SqlParame

C# - 超出范围时对象是否立即销毁?

我可以相信一个对象在超出C#范围时会被销毁并立即调用其析构函数吗?我认为它应该是因为许多常见的编码实践(例如事务对象)都依赖于这种行为,但我不太习惯使用垃圾收集并且对这些语言通常的行为方式知之甚少。谢谢。 最佳答案 不,.Net和C#都依赖于垃圾回收内存管理。因此,在GC发现销毁对象是合适的之前,不会调用析构函数(在.Net中称为终结器)。另外:C#中的大多数“常规”对象没有析构函数。如果你需要析构函数模式,你应该实现IDisposableinterface与DisposePattern.在一次性对象上,您还应该确保使用usingk

c# - 当属性等于 Max 和 NHibernate 时选择对象

我们有一个查询,它根据另一个值选择行,即。最大值我认为这没有多大意义,所以这里是查询:vardeatched=DetachedCriteria.For("e2").SetProjection(Projections.Alias(Projections.Max("Property"),"maxProperty")).Add(Restrictions.EqProperty("e2.EnquiryCode","e.EnquiryCode"));session.CreateCriteria(typeof(Enquiry),"e").Add(Subqueries.PropertyEq("Prop

c# - 在 Visual Studio 2010 中使用扩展对象调试 XSLT

我目前正在从事一个涉及大量XSLT转换的项目,我真的需要一个调试器(我有1000多行长的XSLT,但我没有编写它们:-).该项目是用C#编写的,并使用了扩展对象:xslArg.AddExtensionObject("urn:",new());据我所知,在这种情况下,VisualStudio是唯一可以帮助我逐步调试转换的工具。由于扩展对象,静态调试器没有用(当它到达引用其namespace的元素时会抛出错误)。幸运的是,我找到了thisthread这给了我一个起点(至少我知道这是可以做到的)。在搜索MSDN之后,我找到了使进入转换成为可能的条件。它们被列为here.简而言之:XML和XS

c# - 清除 Crystal Reports ReportDocument 对象使用的资源的最佳方法是什么?

我正在开发一个使用CrystalReports进行报告的应用程序。它在ReportDocument对象中打开给定的报表,执行它需要执行的操作,然后关闭报表。using(varreport=OpenReport(reportSourceInfo)){//Dostuffwiththereportreport.Close();}OpenReport方法对源文件进行一些验证并返回一个打开的ReportDocument对象。测试表明此代码可以完成预期的工作,而且看起来没有任何问题。我真正听取建议的问题是,当我对报告项目进行代码分析(CA)构建时,我收到以下CA消息:CA2202:Microsof

c# - 不必要地转换为用于在 mscorlib 中调用 ToString() 的对象

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。在StringWriter(mscorlib.dll)中我找到了一段代码:privateStringBuilder_sb;//(...)publicoverridestringToString(){return((object)this._sb).ToString();}我看不出原因(我的R#也是,但有时是错误的)。ToString()是virtual因此

c# - 使用 Json.net - C# 对象的部分自定义序列化

我要使用Newtonsofts的Json.Net将一些对象和数组序列化为json。这些对象有一组共同的属性,但也有Meta属性,它是一个字典在序列化期间,我希望将键值对添加到我的json对象中,就好像它们位于根级属性中一样,就像这样......{id:1,name:'jeff',food:'spinch',spoon:'ýes'}不是这样的:{id:1,name:'jeff',meta:{food:'spinch',spoon:'ýes'}}我已经深入研究了JsonSerializerSettings,但似乎无法发现我可以跳入并覆盖的位置??? 最佳答案

c# - 当子项具有身份 key 时,如何使用 EF 将多个子实体添加到对象?

我们正在使用EF5和SQLServer2012以下两个类:publicclassQuestion{publicQuestion(){this.Answers=newList();}publicintQuestionId{get;set;}publicstringTitle{get;set;}publicvirtualICollectionAnswers{get;set;}}publicclassAnswer{publicintAnswerId{get;set;}publicstringText{get;set;}publicintQuestionId{get;set;}publicvi