小编Ed *_*ess的帖子

一个月我需要这个宝宝 - 给我九个女人!

在什么情况下 - 如果有的话 - 确实为团队添加程序员实际上加快了已经很晚的项目的开发速度?

project-management

185
推荐指数
6
解决办法
1万
查看次数

BackgroundWorker中未处理的异常

我的WinForms应用程序使用许多BackgroundWorker对象从数据库中检索信息.我正在使用BackgroundWorker,因为它允许UI在长时间运行的数据库查询期间保持解除阻塞状态,并简化了我的线程模型.

我在其中一些后台线程中偶尔会遇到DatabaseExceptions,并且在调试时我在工作线程中至少目睹了其中一个异常.我相当有信心这些例外是超时,我认为它不时是合理的.

我的问题是当在其中一个后台工作线程中发生未处理的异常时会发生什么.

我不认为我可以在另一个线程中捕获异常,但我可以期望我的WorkerCompleted方法被执行吗?我是否可以查询异常的BackgroundWorker的任何属性或方法?

.net c# debugging multithreading backgroundworker

71
推荐指数
3
解决办法
3万
查看次数

var关键字有什么意义?

变种关键字摒弃了需要一个明确的类型声明,我有兴趣地阅读SO讨论时,它可能是适当的.

我还读过(但未使用过)Boo,它似乎通过使声明局部变量可选而更进一步.使用Boo,可以隐含类型和声明.

这让我想知道,为什么C#语言设计师根本不想包含一个var关键字?

更新:是的,var支持匿名类型,但匿名类型本身不需要var关键字...

var anon = new { Name = "Terry", Age = 34 };
Run Code Online (Sandbox Code Playgroud)

anon = new { Name = "Terry", Age = 34 };
Run Code Online (Sandbox Code Playgroud)

c# variables boo

47
推荐指数
5
解决办法
2万
查看次数

如何使用反射确定属性类型?

我如何测试类型的属性以查看它是否是指定的类型?

编辑:我的目标是检查程序集,以查看该程序集中的任何类型是否包含MyType属性(或从MyType继承).

这是我走下去的赛道......

AssemblyName n = new AssemblyName();
n.CodeBase = "file://" + dllName;
Assembly a = AppDomain.CurrentDomain.Load(n);

foreach (Type t in a.GetTypes())
    foreach (PropertyInfo pi in t.GetProperties())
        if ( pi.PropertyType is MyType ) // warning CS0184
            Console.WriteLine("Found a property that is MyType");
Run Code Online (Sandbox Code Playgroud)

这会编译警告CS0184:给定的表达式永远不是提供的('MyType')类型

.net c# reflection

37
推荐指数
2
解决办法
6万
查看次数

查找使用的编程语言

什么是找出应用程序编写的编程语言的最简单方法?我想从程序exe文件中知道它的vb或c ++或delphi或.net等.

windows computer-forensics

34
推荐指数
3
解决办法
6万
查看次数

MS SQL服务器强制转换无异常

MS SQL服务器中是否有任何"转换"功能允许安全地转换类型(不抛出异常).我需要在C#lang中使用类似"tryParse"的东西,但需要SQL语句.

更详细的,我需要以下语句返回零或任何其他但抛出异常.

select convert(float,'fjsdhf')

提前致谢.

t-sql sql-server exception-handling

32
推荐指数
3
解决办法
3万
查看次数

撤消Subversion中的特定修订

假设我在存储库文件夹中有一组提交...

123 (250 new files, 137 changed files, 14 deleted files)
122 (150 changed files)
121 (renamed folder)
120 (90 changed files)
119 (115 changed files, 14 deleted files, 12 added files)
118 (113 changed files)
117 (10 changed files)
Run Code Online (Sandbox Code Playgroud)

我想获得一份工作副本,其中包括修订版117以后的所有更改,但不包括修订版118和120的更改.

编辑:为了使问题更清楚,我想撤消在118和120中所做的更改,同时保留所有其他更改.该文件夹包含数百个子文件夹中的数千个文件.

实现这一目标的最佳方法是什么?

得益于Bruno和Bert,答案就是命令(在这种情况下,在执行完全合并后删除120)

svn merge -c -120 .
Run Code Online (Sandbox Code Playgroud)

请注意,必须使用前导减号指定修订号.'-120'不是'120'

svn undo cherry-pick

30
推荐指数
2
解决办法
1万
查看次数

SQL Server视图,祝福还是诅咒?

我曾与一位禁止使用SQL视图的架构师合作过.他的主要原因是观点使得一个没有思想的编码人员很容易不必要地参与联合表格,如果那个编码人员更加努力,可以完全避免.隐含地,他通过复制粘贴而不是视图中的封装来鼓励代码重用.

该数据库有近600个表并且高度标准化,因此大多数有用的SQL都必须冗长.

几年之后,我可以看到禁令至少有一个不好的结果 - 我们有数百个密集,冗长的存储过程,这些过程无法维持.

事后我会说这是一个糟糕的决定,但你对SQL视图的体验是什么?你发现它们对性能有害吗?关于它们何时适合或不适合的任何其他想法?

sql sql-server

28
推荐指数
4
解决办法
6184
查看次数

隐式打字; 为什么只是局部变量?

有没有人知道或关心为什么隐式类型仅限于局部变量?

var thingy = new Foo();
Run Code Online (Sandbox Code Playgroud)

但为什么不......

var getFoo() {
    return new Foo(); 
}
Run Code Online (Sandbox Code Playgroud)

.net c# variables implicit-typing

22
推荐指数
2
解决办法
1106
查看次数

有没有人仍然相信软件的能力成熟度模型?

十年前,当我第一次遇到软件CMM时,我想像许多人一样,对于在许多企业中描述混乱的"一级"软件开发状态的准确程度感到震惊,特别是在提到依赖英雄时.它似乎也为组织提供了切实可行的指导,以提高其流程水平.

虽然它似乎提供了一个良好的模型和现实的改进指导,但我从未真正目睹过遵守CMM对我曾为之工作过的任何组织产生重大积极影响.我知道一家大型软件咨询公司声称CMM级别5 - 最高级别 - 当我可以看到他们的流程一样混乱,他们的软件产品质量与其他非CMM业务一样多样化.

所以我想知道,根据CMM,是否有人从遵守流程改进中看到了真正的实实在在的好处?

如果您已经看到改进,您是否认为改进特别归功于CMM,或者替代方法(例如6-sigma)是否同样或更有益?

还有人还相信吗?

顺便说一句,对于那些还没有看过它的人来说,看看这个有趣的 - 因为它真实的模仿

cmmi process-management

21
推荐指数
6
解决办法
3440
查看次数