问题列表 - 第6117页

需要:.NET中的文件系统接口和实现

可能重复:
如何在C#中模拟文件系统进行单元测试?

我使用Moq作为模拟框架,将单元测试编写到我的代码中.
我的代码包括使用对System.IO类的直接调用来调用文件系统.例如,File.Exists(...)等等.
我想将该代码更改为更易测试,所以我应该有一个接口,比方说IFile,用相关的方法Exists(string path).
我知道我可以从头开始编写它,但我认为可能有一个完整,健壮的框架,它具有文件系统的接口和实现.这个(期望的)框架也可以是某种"服务",因此它的API不必是System.IO命名空间的"接口等价物" .
请注意,我真的很想拥有接口(而不是静态方法),以便我的代码可以用于依赖注入

到目前为止我得到了什么:

还有其他建议吗?

.net file-io unit-testing dependency-injection mocking

12
推荐指数
2
解决办法
5147
查看次数

如何在XNA中调整和保存Texture2D?

在我为XNA游戏制作的关卡编辑器(编辑器也在XNA中)我允许缩放Texture2D对象.

当用户试图保存关卡时,我想实际调整磁盘上的图像文件大小,这样就不需要在游戏中进行缩放.

有没有一种简单的方法可以从缩放的Texture2D对象创建图像文件(首选PNG)?

.net c# xna image-manipulation

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

可扩展的数据库标记模式

编辑:建立标记系统的人.不读这个.这不是你想要的.当我不知道RDBMS都有自己的优化方法时,我问过这个,只需使用简单的多对多方案.

我有一个发布系统,有数百万的帖子.每个帖子都可以有无数个与之关联的标签.

用户可以创建具有注释,创建日期,所有者等的标签.标签几乎就像一个帖子本身,因为人们可以发布关于标签的注释.

每个标记关联都有一个所有者和日期,因此我们可以看到谁添加了标记以及何时添加.

我的问题是如何实现这一点?它必须通过标签快速搜索帖子,或通过邮寄标签.此外,用户可以通过在字段中键入名称来为帖子添加标签,有点像谷歌搜索栏,它必须为您填写标签名称的其余部分.

我目前有3个解决方案,但不确定哪个是最好的,或者是否有更好的方法.

请注意,我没有显示笔记的布局,因为一旦我得到适当的标签解决方案,这将是微不足道的.

方法1.链接列表

post中的tagId指向tag_assoc中的链表,应用程序必须遍历列表,直到flink = 0

post:           id, content, ownerId, date, tagId, notesId
tag_assoc:      id, tagId, ownerId, flink
tag:            id, name, notesId
Run Code Online (Sandbox Code Playgroud)

方法2.非规范化

tags只是一个VARCHAR或TEXT字段,包含tagId:ownerId的制表符分隔数组.它不能是固定的大小.

post:           id, content, ownerId, date, tags, notesId
tag:            id, name, notesId
Run Code Online (Sandbox Code Playgroud)

方法3. Toxi

(来自:http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html,这里也是一样的:标签或标签的推荐SQL数据库设计)

post:          id, content, ownerId, date, notesId
tag_assoc:     ownerId, tagId, postId
tag:           id, name, notesId
Run Code Online (Sandbox Code Playgroud)

方法3提出了一个问题,迭代tag_assoc中每一行的速度有多快?

方法1和2应该通过post快速返回标签,但对于按标签发布的帖子,必须另外创建一个查找表.

我不得不担心的最后一件事是按名称优化搜索标签,我还没有完成.

我在这里制作了一个ASCII图:http://pastebin.com/f1c4e0e53

sql database tags performance scalability

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

如何判断列表是否包含第三项?

我有一个函数,它采用一个有两个或三个元素的列表.

;; expecting either ((a b c) d) or ((a b c) d e)
(define (has-third-item ls)
      (if (null? (caddr ls))
          false
          true)
      )
Run Code Online (Sandbox Code Playgroud)

但是这段代码失败了

mcar: expects argument of type <mutable-pair>; given ()
Run Code Online (Sandbox Code Playgroud)

在(null?(caddr ls))表达式上.

我也试过了

(eq? '() (caddr ls))
Run Code Online (Sandbox Code Playgroud)

但它也没有用.如何判断是否有第三项?

lisp scheme

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

是否可以仅在没有在Python中赋值的情况下声明变量?

是否可以在Python中声明变量,如此?:

var
Run Code Online (Sandbox Code Playgroud)

所以它初始化为None?似乎Python允许这样做,但是一旦你访问它,它就会崩溃.这可能吗?如果没有,为什么?

编辑:我想这样做的情况:

value

for index in sequence:

   if value == None and conditionMet:
       value = index
       break
Run Code Online (Sandbox Code Playgroud)

重复

有关

python variable-assignment variable-declaration

260
推荐指数
4
解决办法
45万
查看次数

.NET秒表类限制

这可能不完全不是.NET相关的问题.我正在编写一个.NET应用程序来控制一些小工具.我定期向小工具发送命令(比如每500毫秒).一旦我发送命令,我就会启动一个计时器.(.NET秒表类)

如果小工具在10毫秒内没有响应,我再次发送命令.如果确实响应,我会继续通过发送更多命令和处理响应来监控小工具状态.

我有2个或3个秒表计时器同时运行,为这个小工具做其他事情.

现在,我想监视和控制可能数以千计的这些小工具(可能高达5000).如果我为小工具创建一个对象,我将查看并行运行的10000到15000个秒表对象.我不确定秒表是如何工作的,但我认为他们依靠硬件计时器或某些东西来跟踪时间.

我的问题是,Windows可以同时处理如此大量的秒表吗?

.net windows stopwatch hardware-interface

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

C#构造参数查询SQL - LIKE%

我正在尝试为C#中的参数查询构建SQL以查找包含该LIKE %%命令的查询.

这是我想要实现的(请注意数据库是Firebird)

var SQL = string.format("SELECT * FROM {0} WHERE {1} LIKE '%?%'", TABLE, NAME);
 cmd.Parameters.AddWithValue(NAME, "JOHN");
Run Code Online (Sandbox Code Playgroud)

现在我尝试了每一个排列以使参数起作用,我已经尝试过;

我似乎无法使其工作,我如何使用LIKE查询的参数工作.

欢迎提出建议!

c# sql parameters firebird

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

将PCL转换为PDF

我希望创建(作为概念验证)OCaml(最好)程序,将PCL代码转换为PDF格式.我不知道从哪里开始.这样做有标准化的算法吗?是否有其他建议可用于完成此任务?

谢谢!

pdf ocaml printer-control-language ghostscript

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

何时会在JAVA的流中发生EOFException

我正在使用DataInputStream并且有一个关于EOFExceptions的问题.

根据java文档:

表示在输入期间意外到达文件末尾或流末尾的信号.

此异常主要由数据输入流用于信号流的结束.请注意,许多其他输入操作在流末尾返回特殊值而不是抛出异常.

这是否意味着当生成EOFException时,流不会再次打开?这是否意味着你永远不会期待它的更多数据?

如果输出流连接到输入流并且调用了outputstream.close(),输入流是否会收到EOFException或IOException?

IOException被描述为:

表示发生某种I/O异常的信号.此类是由失败或中断的I/O操作产生的一般异常类.

输出流上的close是否会在datainputstream端产生EOFException或IOException?

java input stream eofexception

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

ruby的object_id方法是否指向内存位置?

或者这个方法只是表明每个对象有一个唯一的整数?

ruby

8
推荐指数
2
解决办法
3058
查看次数