问题列表 - 第4175页

什么是"Stub"?

因此,继续我的新年决议以获得更多TDD,我现在开始更多地使用Rhino Mocks.

我真正想要做的一件事就是确保我真正了解我所要做的事情,所以我想检查一下我对目前所看到的情况的理解(我认为最好把它放在这里作为一个资源).

什么是"Stub"?

testing tdd unit-testing stub

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

如何从PostgreSQL数据库中删除表*或*视图?

我在PostgreSQL数据库中有一个表或视图的名称,需要在单个pgSQL命令中删除.我怎么能买得起?

我能够选择表单系统表来查找是否有任何具有这样名称的表但是仍然存在程序部分:

SELECT count(*) FROM pg_tables where tablename='user_statistics';
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql

5
推荐指数
1
解决办法
9694
查看次数

如何制作仅接受数字的文本框?

我有一个带有文本框控件的Windows窗体应用程序,我只想接受整数值.在过去,我通过重载KeyPress事件并删除不符合规范的字符来完成这种验证.我看过MaskedTextBox控件,但是我想要一个更通用的解决方案,可以使用正则表达式,或者依赖于其他控件的值.

理想情况下,这将表现为按下非数字字符将不产生结果或立即向用户提供关于无效字符的反馈.

.net c# textbox winforms

559
推荐指数
12
解决办法
102万
查看次数

扩展方法的ArgumentNullException或NullReferenceException?

在null实例(扩展方法不允许)的情况下调用扩展方法时,您认为是最好的异常类型是什么?由于扩展方法只不过是静态方法,你可以说它应该是ArgumentNullException,但另一方面它们像实例方法一样使用,因此使用NullReferenceException可能更自然.我们来看下面的例子:

public static string ToInvariantString(this IFormattable value, string format)
{
    return value.ToString(format, CultureInfo.InvariantCulture);
}
Run Code Online (Sandbox Code Playgroud)

这样,如果value参数为null,则抛出NullReferenceException.

另一个例子是:

public static string ToInvariantString(this IFormattable value, string format)
{
    if (value == null) throw new ArgumentNullException("value");
    return value.ToString(format, CultureInfo.InvariantCulture);
}
Run Code Online (Sandbox Code Playgroud)

编辑: 在一些答案中,你已经指出扩展方法可以像静态方法一样调用,在这种情况下,空引用异常会出错,这是一个很好的观点,实际上是我关注的一个问题,不知道为什么我忘了首先在问题中提到这一点.

有人还指出抛出NullReferenceException是错误的,是的,确实如此.这就是为什么我不扔它,我只是让它发生(让CLR抛出它)不守护方法.

我认为我赞成ArgumentNullException(这是我到目前为止所使用的)但我仍然认为至少有空间来反对NullReferenceException,因为在大多数将要使用该方法的地方看起来更自然.

.net extension-methods exception

39
推荐指数
3
解决办法
6277
查看次数

在C#dll中缓存数据的最佳方法是什么?

我编写了一个可以以多种方式使用的DLL(由ASP.NET网站,WinForms等引用).它需要从几个定界文件加载其数据,这些文件将在半定期的基础上自动更新.出于性能原因,我将数据加载到静态对象(通用列表)中,并且只想在数据更改时返回到文件.(数据量不占用不合理的内存量,但每次访问时从文件中读取确实需要很长时间).我尝试过使用FileSystemWatcher,但事实证明它不可靠 - 它会定期错过文件更新.由于我不能指望在网站内运行的DLL,因此ASP.NET CacheDependency选项似乎不合适.有没有人找到这种方法的好方法?

.net dll dependencies caching file

7
推荐指数
2
解决办法
8399
查看次数

如何动态刷新.NET数据绑定转发器控件

我有一个List 的.NET repeater控件data-bound.作为Repeater的一部分Item Collection,我有一个"删除按钮",可以有效地删除当前的List元素.

这工作,在代码隐藏我可以成功地从删除项目datasource的的中继器.

我的问题是这样的:当我重置更新datasourceMyRepeater.DataBind()再次调用时,Repeater接口不刷新而删除了Item.

我正在寻找事件基本上重新绘制或刷新基于更新列表的Repeater.感谢您的任何指示或示例.

.net data-binding repeater refresh databound

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

是否可以通过LKM添加系统调用?

我想通过LKM添加一个新的系统调用,但我不知道如何做到这一点.也就是说,我知道如果我想添加一个全新的系统调用,我可以查看sys_call_table并查找sys_ni_syscall并替换它,但我很好奇是否可以实际添加sys_call_table.我意识到这可能不是可能的,因为它是一个固定大小的数组,但我想知道是否有任何其他聪明的方式来添加系统,而无需重写未使用的系统调用号调用.

linux kernel-module

9
推荐指数
1
解决办法
2739
查看次数

在TSQL中使用SELECT DISTINCT上的ORDER BY

我正在尝试检索按日期排序的日期字符串列表,如下所示...

SELECT DISTINCT CONVERT(Varchar(10), GeneratedDate, 101) AS GeneratedDate
FROM dbo.ProviderProcessGeneratedDate
ORDER BY GeneratedDate
Run Code Online (Sandbox Code Playgroud)

这是由我将日期转换为的varchar命令.

例如...
02/01/2008
2008年2月15日
2007年2月21日
2007年2月23日
2008年2月29日

我使用内联查询解决了这个问题...

SELECT CONVERT(Varchar(10), a.GeneratedDate, 101) AS GeneratedDate
FROM (SELECT DISTINCT Convert(DATETIME,CONVERT(Varchar(10), GeneratedDate, 101)) AS GeneratedDate
      FROM dbo.ProviderProcessGeneratedDate) a
ORDER BY a.GeneratedDate DESC
Run Code Online (Sandbox Code Playgroud)

为了得到我真正想要的东西...
01/11/2008
01/04/2008
12/28/2007
12/21/2007

有没有更简单的方法?似乎很多工作要做这么简单的事情.

sql t-sql sql-server

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

JPA eager fetch不加入

JPA的获取策略到底控制了什么?我无法发现渴望和懒惰之间的任何区别.在这两种情况下,JPA/Hibernate都不会自动加入多对一关系.

示例:Person有一个地址.地址可以属于很多人.JPA带注释的实体类看起来像:

@Entity
public class Person {
    @Id
    public Integer id;

    public String name;

    @ManyToOne(fetch=FetchType.LAZY or EAGER)
    public Address address;
}

@Entity
public class Address {
    @Id
    public Integer id;

    public String name;
}
Run Code Online (Sandbox Code Playgroud)

如果我使用JPA查询:

select p from Person p where ...
Run Code Online (Sandbox Code Playgroud)

JPA/Hibernate生成一个SQL查询以从Person表中进行选择,然后为每个人选择一个不同的地址查询:

select ... from Person where ...
select ... from Address where id=1
select ... from Address where id=2
select ... from Address where id=3
Run Code Online (Sandbox Code Playgroud)

这对于大型结果集非常糟糕.如果有1000个人,则会生成1001个查询(1个来自Person,1000个来自地址).我知道这是因为我正在查看MySQL的查询日志.我的理解是,将地址的提取类型设置为eager会导致JPA/Hibernate自动使用连接进行查询.但是,无论获取类型如何,它仍会为关系生成不同的查询.

只有当我明确告诉它加入时它才真正加入:

select p, a from Person p left join p.address …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa join

106
推荐指数
6
解决办法
12万
查看次数

Javascript关闭警报框

我希望能够在一定时间后或特定事件(即onkeypress)上使用javascript自动关闭警报框.根据我的研究,内置的alert()函数看起来不太可能.有没有办法覆盖它并控制它打开的对话框?

此外,我不希望覆盖显示隐藏的div作为警报.我需要一个实际的对话框.

javascript alert dialog dom-events

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