小编Jud*_*ngo的帖子

如何确定.NET程序集是为x86还是x64构建的?

我有一个任意的.NET程序集列表.

我需要以编程方式检查每个DLL是否是为x86构建的(而不是x64或任何CPU).这可能吗?

.net 64-bit x86 assemblies x86-64

312
推荐指数
8
解决办法
16万
查看次数

制作WinForms TextBox的行为与浏览器的地址栏相似

当C#WinForms文本框获得焦点时,我希望它的行为类似于浏览器的地址栏.

要查看我的意思,请单击您的Web浏览器的地址栏.您会注意到以下行为:

  1. 如果文本框之前没有聚焦,则单击文本框应选择所有文本.
  2. 鼠标按下并在文本框中拖动应该只选择我用鼠标突出显示的文本.
  3. 如果文本框已经聚焦,则单击不会选择所有文本.
  4. 以编程方式或通过键盘选项卡聚焦文本框应选择所有文本.

我想在WinForms中做到这一点.

最快的枪声:请在回答之前阅读以下内容!多谢你们.:-)

在.Enter或.GotFocus事件期间调用.SelectAll()将不起作用,因为如果用户单击文本框,则插入符号将被放置在他单击的位置,从而取消选择所有文本.

在.Click事件期间调用.SelectAll()将不起作用,因为用户将无法使用鼠标选择任何文本; .SelectAll()调用将继续覆盖用户的文本选择.

在焦点/输入事件输入上调用BeginInvoke((Action)textbox.SelectAll)不起作用,因为它违反了上面的规则#2,它将继续覆盖用户对焦点的选择.

.net user-interface textbox winforms

151
推荐指数
4
解决办法
12万
查看次数

Twitter引导下拉列表在屏幕外

我想实现twitter bootstrap下拉菜单,这是我的代码:

<span class="dropdown"> 
<a href="#menu1" class="dropdown-toggle" data-toggle="dropdown" ><img class="left" src="/static/img/topmenu_preferences.png" /><b class="caret"></b></a>
<ul class="dropdown-menu">
  <li><a href="#">a</a></li>
  <li><a href="#">b</a></li>
  <li><a href="#">c</a></li>
  <li class="divider"></li>
  <li><a href="#">d</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

下拉工作正常,我的下拉列表放在屏幕的右边缘旁边,当我点击我的下拉菜单切换时,列表会移出屏幕.它看起来像在屏幕上:

在此输入图像描述

我该如何解决?

html css twitter-bootstrap

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

C#中的随机日期

我正在寻找一些简洁,现代的C#代码,以生成1995年1月1日到当前日期之间的随机日期.

我正在考虑一些利用Enumerable.Range的解决方案可能会使这更简洁.

c# random datetime date

133
推荐指数
4
解决办法
9万
查看次数

单元测试具有文件系统依赖性的代码

我正在编写一个组件,给定一个ZIP文件,需要:

  1. 解压缩文件.
  2. 在解压缩的文件中查找特定的DLL.
  3. 通过反射加载该DLL并在其上调用方法.

我想对这个组件进行单元测试.

我很想编写直接处理文件系统的代码:

void DoIt()
{
   Zip.Unzip(theZipFile, "C:\\foo\\Unzipped");
   System.IO.File myDll = File.Open("C:\\foo\\Unzipped\\SuperSecret.bar");
   myDll.InvokeSomeSpecialMethod();
}
Run Code Online (Sandbox Code Playgroud)

但人们经常说,"不要编写依赖于文件系统,数据库,网络等的单元测试".

如果我以单元测试友好的方式写这个,我想它看起来像这样:

void DoIt(IZipper zipper, IFileSystem fileSystem, IDllRunner runner)
{
   string path = zipper.Unzip(theZipFile);
   IFakeFile file = fileSystem.Open(path);
   runner.Run(file);
}
Run Code Online (Sandbox Code Playgroud)

好极了!现在它是可测试的; 我可以将测试双打(模拟)提供给DoIt方法.但是以什么代价?我现在必须定义3个新接口才能使这个可测试.究竟,我在测试什么?我正在测试我的DoIt函数是否正确地与其依赖项交互.它不测试zip文件是否正确解压缩等.

我觉得我不再测试功能了.感觉就像我只是在测试课堂互动.

我的问题是:对依赖于文件系统的东西进行单元测试的正确方法是什么?

编辑我正在使用.NET,但这个概念也可以应用Java或本机代码.

dependencies unit-testing dependency-injection

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

WPF OpenFileDialog与MVVM模式?

我刚开始学习WPF的MVVM模式.我碰壁了:当你需要展示一个OpenFileDialog时你会怎么做

这是我尝试使用它的示例UI:

替代文字

单击"浏览"按钮时,应显示OpenFileDialog.当用户从OpenFileDialog中选择文件时,文件路径应显示在文本框中.

我怎么能用MVVM做到这一点?

更新:如何使用MVVM实现此功能并使其可以进行单元测试?以下解决方案不适用于单元测试.

wpf openfiledialog mvvm

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

Ninject + MVC3 = InvalidOperationException:Sequence不包含任何元素

我创建了一个新的MVC3项目,点击F5,看到了示例页面.

然后我使用NuGet获得Ninject.MVC扩展.我根据Ninject文档,如何设置MVC3应用程序修改了我的global.asax :

public class MvcApplication : NinjectHttpApplication
{
   public static void RegisterGlobalFilters(GlobalFilterCollection filters)
   {
       filters.Add(new HandleErrorAttribute());
   }

   public static void RegisterRoutes(RouteCollection routes)
   {
       routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

       routes.MapRoute(
           "Default", // Route name
           "{controller}/{action}/{id}", // URL with parameters
           new { controller = "Home", action = "Index", 
               id = UrlParameter.Optional });
   }

   protected override IKernel CreateKernel()
   {
       var kernel = new StandardKernel();
       kernel.Load(Assembly.GetExecutingAssembly());
       return kernel;
   }

   protected override void OnApplicationStarted()
   {
       base.OnApplicationStarted();

       AreaRegistration.RegisterAllAreas();
       RegisterGlobalFilters(GlobalFilters.Filters);
       RegisterRoutes(RouteTable.Routes);
   }
}
Run Code Online (Sandbox Code Playgroud)

现在当我运行应用程序时,我得到了死亡的黄色屏幕,但有以下异常:

InvalidOperationException - …

ninject asp.net-mvc-3

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

.NET的黄瓜替代品

快速的一个,有没有人遇到类似于Ruby的黄瓜(一个人类可读的DSL,用于定义可以测试的用例故事)在.NET领域?

.net cucumber

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

来自Olson时区的.NET TimeZoneInfo

如何将以下内容转换为System.TimeZone或System.TimeZoneInfo?

{
  "timeZone": "America/Los_Angeles", 
  "currentOffsetMs": -25200000
}
Run Code Online (Sandbox Code Playgroud)

这是我从第三方Web服务获得的数据.

我假设偏移是与UTC的差异,我被告知"America/Los_Angeles"是奥尔森时区.Java将此解析为Java TimeZone没有问题,但我需要将其解析为C#TimeZoneInfo对象.

.net c# timezone

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

什么是最小化托盘C#WinForms应用程序的正确方法是什么?

将WinForms应用程序最小化到系统托盘的正确方法是什么?

注意:最小化到系统托盘 ; 在时钟任务栏的右侧.我不是要求最小化到任务栏,这是当你点击窗口上的"减号"按钮时会发生的事情.

我已经看到了像"最小化,设置ShowInTaskbar = false,然后显示你的NotifyIcon"这样的hackish解决方案.

像这样的解决方案是hackish,因为应用程序似乎不像其他应用程序那样最小化托盘,代码必须检测何时设置ShowInTaskbar = true,以及其他问题.

这样做的正确方法是什么?

c# trayicon winforms

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