Tag: .net

PropertyInfo:属性索引器?

我有以下代码: PropertyInfo[] originalProperties = myType.GetProperties(); 我想从originalProperties排除所有索引器(myVar [“key”]显示为名为“Item”的属性)。 什么是正确的方法? 排除propInfo.Name == "Item"不是选项的所有属性。

在.Net / C#中抛出多个exception

在我工作的应用程序中,任何业务逻辑错误都会导致引发exception,并且调用代码处理exception。 这种模式在整个应用程序中使用,运作良好。 我有一种情况,我将试图从业务层内执行一些业务任务。 对此的要求是一个任务的失败不应该导致该过程终止。 其他任务仍然应该能够执行。 换句话说,这不是一个primefaces操作。 我遇到的问题是,在操作结束时,我希望通知抛出exception的调用代码,确实发生了exception。 考虑下面的伪代码片段: function DoTasks(MyTask[] taskList) { foreach(MyTask task in taskList) { try { DoTask(task); } catch(Exception ex) { log.add(ex); } } //I want to throw something here if any exception occurred } 我扔什么? 我以前在职业生涯中遇到过这种模式。 在过去,我保存了所有exception的列表,然后抛出一个包含所有捕获的exception的exception。 这似乎不是最优雅的方法。 从每个例外中保留尽可能多的细节以呈现给调用代码是很重要的。 思考? 编辑:解决scheme必须使用.Net 3.5编写。 我不能使用任何beta库,或者如Bradley Grainger所提到的.Net 4.0中的AggregateException(下面),这将是集合exception抛出的一个很好的解决scheme。

C#如何redirectstream到控制台出?

我发现了很多示例如何将控制台输出redirect到一个文件。 然而,我需要一个相反的soluiton – 我有StreamWriter,我想要显示在控制台输出一旦我sw.WriteLine(“文本”);

私人领域与私人财产的区别

使用私有属性而不是私有字段有什么区别 private String MyValue { get; set; } // instead of private String _myValue; public void DoSomething() { MyValue = "Test"; // Instead of _myValue = "Test"; } 有没有任何性能问题? 或只是一个命名约定?

像YouTube一样的GUID

是否有可能像YouTube(N7Et6c9nL9w)一样产生短的GUID? 如何做呢? 我想在networking应用程序中使用它。

在构造System.Data.SQLite.SQLiteConnection时,什么原因导致System.BadImageFormatException

我已经把代码分解成最小的声明: Dim cn As System.Data.SQLite.SQLiteConnection 从WinForm应用程序中调用代码时出现以下错误: System.BadImageFormatException:无法加载文件或程序集“System.Data.SQLite,版本= 1.0.65.0,文化=中性,PublicKeyToken = db937bc2d44ff139”或其依赖项之一。 试图加载格式不正确的程序。 文件名:'System.Data.SQLite,Version = 1.0.65.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139' 然而,从MSunit testing调用相同的代码我没有得到错误,加上完整的代码集按预期工作。

nUnit Assert.That(方法,Throws.Exception)不捕获exception

有人能告诉我为什么这个unit testing检查exception失败吗? 显然,我真正的testing是检查其他代码,但我使用Int32.Parse来显示问题。 [Test] public void MyTest() { Assert.That(Int32.Parse("abc"), Throws.Exception.TypeOf<FormatException>()); } testing失败,给出这个错误。 很明显,我正在尝试testing这个exception,我想我的语法错过了一些东西。 Error 1 TestCase '.MyTest' failed: System.FormatException : Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at System.Int32.Parse(String s) 基于Throws Constraint(NUnit 2.5)的文档,

一个字典中的值是一个匿名types在C#

是否有可能在C#中创build一个System.Collections.Generic.Dictionary<TKey, TValue>其中TKey是无条件的类和TValue – 一个具有一些属性的匿名类,例如 – 数据库列名称和它的本地化名称。 像这样的东西: new { ID = 1, Name = new { Column = "Dollar", Localized = "Доллар" } }

xUnit.net:全局设置+拆卸?

这个问题是关于unit testing框架xUnit.net 。 我需要在执行任何testing之前运行一些代码,并且在完成所有testing之后还要执行一些代码。 我认为应该有某种属性或标记接口来表示全局初始化和终止代码,但找不到它们。 或者,如果我以编程方式调用xUnit,我也可以通过以下代码实现我想要的function: static void Main() { try { MyGlobalSetup(); RunAllTests(); // What goes into this method? } finally { MyGlobalTeardown(); } } 任何人都可以提供一个关于如何声明或以编程方式运行一些全局设置/拆卸代码的提示吗?

有没有更好的方法来修剪date时间到一个特定的精度?

将DateTime对象修剪为特定精度的最佳方法是什么? 例如,如果我有一个值为'2008-09-29 09:41:43'的DateTime,但是我只希望精确到一分钟,有没有比这更好的方法来做到这一点? private static DateTime TrimDateToMinute(DateTime date) { return new DateTime( date.Year, date.Month, date.Day, date.Hour, date.Minute, 0); } 我真正想要的是使其变化,以便我可以将其精度设置为秒,分,小时或日。