小编Sha*_*mer的帖子

如何在.NET中的字符串中仅使用正则表达式搜索/替换第一个匹配项?

似乎.NET Regex.Replace方法自动替换所有匹配的事件.我可以提供一个MatchEvaluator委托,它在第一次替换后返回匹配的字符串,不会发生任何变化,但这对我来说效率非常低.

第一次更换后停止的最有效方法是什么?

.net regex

26
推荐指数
4
解决办法
2万
查看次数

NHibernate SchemaUpdate

从个人经验以及我读过的所有内容来看,NHibernate的SchemaUpdate不支持删除列和表.我想使用SchemaUpdate生成迁移DDL,但没有删除会使其变得更加困难.你怎么解决这个问题?在进行影响数据库的更改时,是否还有其他工具可以帮助您将重点放在域层上?

是否有任何工具像SchemaUpdate一样工作(我可以将工具指向我的实体和数据库的当前版本,并让它生成更改脚本)?

.net c# migration nhibernate

21
推荐指数
1
解决办法
7039
查看次数

我应该在哪里进行DDD的独特检查?

我正在研究我的第一个DDD项目,我想我了解实体,数据访问对象及其关系的基本角色.我有一个基本的验证实现,它将每个验证规则与它的关联实体一起存储.这适用于仅适用于当前实体的规则,但在需要其他数据时会崩溃.例如,如果我有一个用户名必须唯一的限制,我希望IsValid()调用在存在具有当前名称的现有用户时返回false.

但是,我没有找到任何干净的方法来保持实体本身的验证规则.我想在实体上有一个IsNameUnique函数,但是执行此操作的大多数解决方案都需要我注入用户数据访问对象.这个逻辑应该在外部服务吗?如果是这样,我如何仍然保持与实体本身的逻辑?或者这是应该在用户实体之外的东西?

谢谢!

c# entity domain-driven-design repository

13
推荐指数
1
解决办法
2462
查看次数

Process.Start权限问题

我正在尝试使用Process.Start从C#运行外部问题,但遇到了权限问题.当我正常打开命令提示符(而不是管理员)并运行我的命令时,它们工作正常,但是当我通过Process.Start打开命令提示符时,我在目录上收到写入错误.("我无法在文件test.log上写")
如果我通过Process.Start以管理员身份运行它可以正常工作,但我获得了权限弹出窗口.有没有人有任何想法可以帮我解决这个问题?谢谢!

这是我正在使用的代码:

Process proc = new Process();
proc.StartInfo.FileName = @"cmd.exe";
proc.StartInfo.Arguments = @"/k latex C:\Users\Shane\Documents\test.tex";
proc.Start();
proc.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

.net c# latex processstartinfo

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

有没有办法确定HTML选择当前是否打开?

我有一个正在进行连续ajax刷新的页面,如果用户当前正在下拉列表中进行选择,我不想进行此刷新.有没有办法检查用户是否打开了下拉列表,然后停止更新?

谢谢!

html ajax jquery

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

为什么Visual Studio Designer会删除代码?

在我们当前项目的整个过程中,Visual Studio设计师已多次进行修改,导致代码丢失.例如,在设计器代码中手动设置的事件处理程序布线丢失了.有谁知道为什么会这样?

编辑:我知道手动编辑这些文件不是一个好主意,但它也发生在设计师设置的其他事件布线上.

c# visual-studio-2008 visual-studio

4
推荐指数
2
解决办法
4718
查看次数

使用Common.Logging与Asp.net MVC和Castle Windsor

我想使用Common.Logging来删除特定日志框架的依赖关系,但我不确定如何使用Castle Windsor IoC容器连接ILog接口.有没有办法做到这一点?谢谢!

c# asp.net-mvc logging castle-windsor

4
推荐指数
1
解决办法
2535
查看次数

从代码中访问Expression.DebugView

我正在手动创建一个表达式树

var innerAddition = Expression.Add(Expression.Constant(5), Expression.Constant(9));
var mult = Expression.Multiply(innerAddition, Expression.Constant(2));
var top = Expression.Add(Expression.Constant(3), mult);
Run Code Online (Sandbox Code Playgroud)

当我在调试模式下查看DebugView时,我看到3 +(5 + 9)*2,这是我想从我的程序输出的内容.我知道这是使用表达式树可视化工具.有没有办法在我的代码中使用它?谢谢!

c# expression-trees

4
推荐指数
2
解决办法
2217
查看次数

为什么没有处理Font Handles?

我正在使用GDIView来尝试追踪一些挥之不去的GDI句柄的来源,而源似乎是在表单上的菜单中使用的字体.我发现确保字体句柄是GCed的唯一方法是将它们显式设置为null,如下所示:

tsmiTextLocation.Font = null;
tsmiLocationSelection.Font = null;
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎不太合适,但我不确定如何解决这个问题.有没有其他人遇到过这个问题?

.net c# winforms

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