问题列表 - 第4686页

有没有人真正的巴克敏斯特经验?

我目前正在评估常春藤,maven和buckminster,以简化我们的构建过程.概念上buckminster似乎是最先进的,但也有相当复杂的.

我无法在网上找到这么多的第一手经验,因此我向Stackoverflow社区提问.

java eclipse build-automation build-process buckminster

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

你如何在vb.net中解析HTML

我想知道是否有一种简单的方法来解析vb.net中的HTML.我知道HTML不是XML的sctrict子集,但如果可以这样对待它会很好.有没有什么可以让我在VB.net中以类似XML的方式解析HTML?

.net html vb.net parsing html-content-extraction

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

我应该在简单的控制台应用程序中使用C#命名空间吗?

我是C#的新手,对使用命名空间的最佳实践感到好奇.

我有一个包含单个类库项目的解决方案,以及几个小型控制台应用程序项目.所有控制台应用程序项目都是解析命令行参数,并在库项目中调用不同的类.库项目使用标准的CompanyName.Tool约定.

我的问题是,既然给定控制台应用程序的唯一目的是库项目中的一个类,并且永远不会从另一个项目或类调用它,我是否需要将它放在命名空间中?这似乎没必要.

c# namespaces projects-and-solutions

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

第一个被称为链式构造函数的1个理由是什么?

有人能给我一个很好的理由为什么在C#中链接的构造函数总是在任何构造函数体之前被调用?

.NET允许您在构造函数中的任何位置调用链式构造函数,那么为什么C#强制您在构造函数体执行之前执行它?

我曾写信给安德斯H并问过他,尽管他一定很忙,但他还是很乐意花时间回复.不幸的是,他设法回答了我实际上没有问过的问题(关于命名的构造函数.)

所以,出于好奇,我想我会在这里问,因为我个人认为这个限制没有一个好的理由,所以希望我会再教育:-)

只是为了澄清..NET CLR规则是必须调用1个构造函数,只有1个构造函数,并且只能调用一次.所以在CLR中这些都是有效的

public class Meh
{
  public Meh()
  {
    Console.WriteLine("Meh()");
    this("Hello");
  }

  public Meh(string message)
  {
    Console.WriteLine("Meh {0}", message);
    base();
  }
}
Run Code Online (Sandbox Code Playgroud)

但不是在C#

c#

3
推荐指数
1
解决办法
411
查看次数

Java:图像切换按钮

如何在Swing界面中创建切换图像按钮?我有两个图像,imageon.jpg和imageoff.jpg,我基本上想要一个可点击的元素来切换图像并触发一个事件.

更新:有没有办法覆盖图像周围通常的'铬'?我更喜欢简单的图像到里面有图像的按钮.

java swing

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

如何在Linux中使用POSIX方法从文件中读取Unicode-16字符串?

我有一个包含UNICODE-16字符串的文件,我想将其读入Linux程序.字符串是从Windows的内部WCHAR格式原始编写的.(Windows总是使用UTF-16吗?例如日文版)

我相信我可以使用原始读取和使用wcstombs_l进行转换来读取它们.但是,我无法确定要使用的语言环境.在我最新的Ubuntu和Mac OS X机器上运行"locale -a"会产生零区域设置,其名称中包含utf-16.

有没有更好的办法?

更新:正确的答案和下面的其他人帮助我指出使用libiconv.这是我用来进行转换的功能.我目前在一个类中将它转换为一行代码.

// Function for converting wchar_t* to char*. (Really: UTF-16LE --> UTF-8)
// It will allocate the space needed for dest. The caller is
// responsible for freeing the memory.
static int iwcstombs_alloc(char **dest, const wchar_t *src)
{
  iconv_t cd;
  const char from[] = "UTF-16LE";
  const char to[] = "UTF-8";

  cd = iconv_open(to, from);
  if (cd == (iconv_t)-1)
  {
    printf("iconv_open(\"%s\", \"%s\") failed: %s\n",
           to, from, strerror(errno));
    return(-1);
  }

  // How much space do we …
Run Code Online (Sandbox Code Playgroud)

linux windows unicode posix wchar-t

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

Interlocked是否提供所有线程的可见性?

假设我有一个变量"counter",并且有几个线程通过使用Interlocked访问和设置"counter"的值,即:

int value = Interlocked.Increment(ref counter);
Run Code Online (Sandbox Code Playgroud)

int value = Interlocked.Decrement(ref counter);
Run Code Online (Sandbox Code Playgroud)

我可以假设,Interlocked所做的更改将在所有线程中可见吗?

如果没有,我该怎么做才能使所有线程同步变量?

编辑:有人建议我使用volatile.但是当我将"计数器"设置为volatile时,会出现编译器警告"对volatile字段的引用不会被视为volatile".

当我阅读在线帮助时,它说:"通常不应使用ref或out参数传递易失性字段".

c# multithreading visibility interlocked

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

3
推荐指数
1
解决办法
2754
查看次数

如何确保Hudson中只有一种类型的作业同时运行?

我使用Hudson自动测试一个非常大的重要产品.我想让我的测试主机能够运行尽可能多的并发构建,因为它们理论上会支持,除了excel-tests,它必须在每台机器上随时运行一个.任何数量的非excel测试都可以同时运行,但每台机器最多只能运行一次excel测试.

背景:

我的大多数测试都是正常的单元测试 - 我可以轻松地并行运行.遗憾的是,我的单元测试计划中的一个实质性且耗时的部分包括已在Excel中实现的测试.

您可能认为在Excel中实施测试很疯狂 - 实际上有一个重要原因:我们的大多数用户通过Excel访问我们的系统.Excel有自己古怪的数据处理方式,所以保证我们的东西适用于Excel用户的唯一方法就是逐字实现我们的Excel应用程序的注册测试.

我编写了一个测试运行工具,它允许我轻松地启动一组excel测试:每个测试都是一个.xls文件.每个组都是一个充满excel文件的文件夹.我有大约30个小组需要运行进行端到端测试.我的工具将每个测试的结果转换为Hudson能够理解的JUnit样式XML.测试使用pywin32com库来自动化excel.当他们自己运行时,他们是可靠的.

我有一组专门用于运行测试的计算机.每台机器都是四核的,理论上可以同时运行很多东西.不幸的是,我发现COM不能用于一次安全地控制每台机器超过1个excel.

也就是说,如果第二个构建星试图通过COM与Excel通信它可能会干扰已经运行的那个并导致两个测试都失败.

我可以运行许多其他非excel进程,因为机器将允许但我需要找到一种方法,以便Hudson不会尝试启动任何超过1个进程,这需要同时在任何一台机器上excel.

hudson

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

StructureMap使用"扫描"自动注册泛型类型

我有一个界面:

IRepository<T> where T : IEntity
Run Code Online (Sandbox Code Playgroud)

我正在使用一些虚假的存储库实现来破坏我的UI,只返回任何旧数据.

它们看起来像这样:

public class FakeClientRepository : IRepository<Client>
Run Code Online (Sandbox Code Playgroud)

目前我这样做:

ForRequestedType<IRepository<Client>>()
   .TheDefaultIsConcreteType<FakeRepositories.FakeClientRepository>();
Run Code Online (Sandbox Code Playgroud)

但我所有的IEntities都有很多次.是否可以使用Scan自动注册我的所有虚假存储库以用于其各自的IRepository?

编辑:这是我得到的,但我得到错误说请求的类型没有注册:(

Scan(x =>
{
    x.TheCallingAssembly();
    x.IncludeNamespaceContainingType<FakeRepositories.FakeClientRepository>();
    x.AddAllTypesOf(typeof(IRepository<>));
    x.WithDefaultConventions();
});
Run Code Online (Sandbox Code Playgroud)

谢谢

安德鲁

c# structuremap

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