Tag: .net

无法将值类型数组转换为params对象

如果C#可以将int转换为对象,为什么不将int []转换为对象[]? 简单程序示例: void Main() { var a = new String[]{“0”, “1”}; var b = new int[]{0, 1}; AssertMoreThan1(a); // No Exception AssertMoreThan1(b); // Exception } static void AssertMoreThan1(params object[] v){ if(v.Length == 1){ throw new Exception(“Too Few Parameters”); } }

取消订阅从未订阅过的活动是否安全?

例如,如果这些代码: Button button1 = new Button(); // … button1.Click -= button1_Clicked; 执行之前: button1.Click += button1_Clicked; 我没有发现任何错误或exception,但我想知道这里是否有任何缺点。 如果它是安全的,为什么允许取消订阅从未订阅过的活动?

Crystal Report:运营尚未实施

我正在使用Crystal Report 10.5的.Net 2008 Web应用程序。 我能够在Windows 7中生成PDF报告。但是当我在Windows Server 2012上运行该应用程序时,它会显示以下问题。 文件C中出错:\ Users \ sampleUser \ AppData \ Local \ Temp \ rptManger {DDEB2C17-C5FD-49C1-B7BF-57F30AB6636C} .rpt:操作尚未实现。 位于CrystalDecisions.CrystalReports.Engine.ForoE上的CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext)中的CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(例外e)CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)(ExportRequestContext reqContext)。(ExportRequestContext reqContext) reqContext)位于SEI.MA_APPS.PortfolioModels.Web.ManagerDetailByBank的SEI.MA_APPS.PortfolioModels.Web.ManagerDetailByBank.GetReport()的CrystalDecisions.CrystalReports.Engine.ReportDocument.Export()处的CrystalDecisions.CrystalReports.Engine.FormatEngine.Export() .validate()

从powershell-script登录到csharp-program(log4net-logfile)

我用C#编写了一个程序,它创建了一个日志文件并使用log4net填充它。 该程序启动PowerShell脚本。 脚本也应该使用log4net。 我想监视脚本在运行时记录到log4net的内容,并在我的日志文件中写入此信息。 您知道我是如何做到这一点的,或者我在哪里获得有关我的问题的信息/帮助? 谢谢

在.NET中捕获存储过程打印输出(不同型号!)

基本上, 这个问题有所不同…… 是否可以使用entity framework从.NET中的TSQL存储过程捕获打印输出? 另一个问题的解决方案对我不起作用。 它适用于System.Data.SqlClient中的连接类型,但我使用System.Data.EntityClient中没有InfoMessage事件的连接类型。 (当然,我可以根据实体连接设置创建一个SQL连接,但更喜欢直接这样做。)

S3分段上传:如何取消?

我需要取消已启动的正在进行的下载 fileTransferUtility = new TransferUtility(/*…*/); var uploadRequest = new TransferUtilityUploadRequest() /* config parameters… */ fileTransferUtility.BeginUpload(uploadRequest, new AsyncCallback(uploadComplete), file); 我搜索了SO和文档,但我找不到方法…… 基本原理:用户可以选择要上传的文件,也可以选择一个非常大的文件,比如1GB。 我需要能够取消这个。 在最坏的情况下,我可以尝试完全杀死线程,或以不洁的方式关闭上传,但如何? 谢谢!

获取IP地址

在C#中: IPHostEntry IPHost = Dns.GetHostEntry(Dns.GetHostName()); for (int i = 0; i < IPHost.AddressList.Length; i++) { textBox1.AppendText("My IP address is: " + IPHost.AddressList[i].ToString() + "\r\n"); } 在此代码中, IPHostEntry变量包含计算机的所有IP地址。 现在,据我所知,Windows vista返回一些hex的IP地址,一些是十进制表示法,依此类推。 问题是所需的十进制表示法改变了它在IPHostEntry变量中的位置:它最初出现在最后一个位置,因此可以使用以下代码访问: string ipText = IPHost.AddressList[IPHost.AddressList.Length – 1].ToString(); 但是,在更改计算机的IP地址后,它现在显示在第二个最后位置,因此需要使用以下代码进行访问: string ipText = IPHost.AddressList[IPHost.AddressList.Length – 2].ToString(); 是否有任何代码以十进制表示法检索IP地址,而不IPHostEntry在IPHostEntry变量中的位置?

是否每次都要求MEF导出缓存或发现?

如果我有一个类型MyClass,请注册 [Export(typeof(Myclass))]属性,和 [PartCreationPolicy(CreationPolicy.Shared)] 要么 [PartCreationPolicy(CreationPolicy.NonShared)] 然后试着打电话 compositionContainer.GetExportedValue()多次。 问题:在第一次通话时,我将通过MEF获取我的注册课程 – llokup所有已注册的程序集,然后尝试查找一个已注册的合同。 问题是关于第二次等等 – MEF会再次进行全局查询还是在内部缓存?

隐含版本的IsAssignableFrom?

在我的代码中使用我写的reflection if (f.FieldType.IsAssignableFrom(“”.GetType())) 我有一个隐式转换为字符串的类。 但是上面的if语句并没有抓住它。 我如何使用隐式字符串转换使reflection/上面的if语句捕获字符串和类? 而不是具体的字符串和我知道的每个类?

如何将子节点添加到从System.Web.UI.Control派生的自定义asp.net用户控件

我想知道如何将一些额外的子节点添加到从System.Web.UI.Control派生的自定义用户控件类。 例如,目前我有一个不包含子节点的控件,在设计图面上如下所示。 我正在寻找的是能够从设计表面向该控件添加n个子节点,然后从代码中访问它们的值。 所以加入上述控制。 value1 value2 我不清楚如何访问子节点。 任何有关如何做到这一点的见解表示赞赏。