小编Rog*_*mbe的帖子

C#:事件或观察者界面?优点缺点?

我有以下(简化):

interface IFindFilesObserver
{
    void OnFoundFile(FileInfo fileInfo);
    void OnFoundDirectory(DirectoryInfo directoryInfo);
}

class FindFiles
{
    IFindFilesObserver _observer;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

......而且我很矛盾.这基本上就是我用C++编写的,但C#有事件.我应该更改代码以使用事件,还是应该不管它?

与传统观察者界面相比,事件的优缺点是什么?

c# events observer-pattern

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

你能"忽略"P4V中的目录吗?

我们使用Visual Studio,它生成许多binobj目录.当我使用P4V的"协调脱机工作"功能时,这些功能会出现在"不在软件仓库中的本地文件"列表中.

我想排除它们.我发现了这个问题,但是这涉及到文件,当我尝试它的建议时(将以下内容添加到我的工作区视图中),它不起作用:

//depot/Foo/... //Client/Foo/...
-//depot/Foo/.../*.user //Client/Foo/.../*.user
-//depot/Foo/.../bin/... //Client/Foo/.../bin/...
-//depot/Foo/.../obj/... //Client/Foo/.../obj/...
Run Code Online (Sandbox Code Playgroud)

它实际上似乎不适用于文件:foo.csproj.user文件仍然显示在列表中.

我可以从P4V中排除目录吗?如果是这样,怎么样?我究竟做错了什么?

perforce

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

是否值得加密数据库中的电子邮件地址?

我已经使用盐水散列将密码存储在我的数据库中,这意味着我应该免受彩虹表攻击.

不过我有一个想法:如果有人确实掌握了我的数据库怎么办?它包含用户的电子邮件地址.我不能真正哈希这些,因为我将使用它们发送通知电子邮件等.

我应该加密它们吗?

security email encryption

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

tsc编译器和VS Code的语言服务之间的版本不匹配

我刚刚开始使用Visual Studio Code,当我创建一个名为index.html的新文件时,我会看到此警告消息

全局安装的tsc编译器(1.0.3.0)与VS Code的语言服务(1.8.10)之间的版本不匹配

有人可以指导我,我必须做些什么来解决这个问题.

这是严重还是我可以忽略.我用Google搜索但无法获得更多信息

谢谢

在此输入图像描述

visual-studio-code

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

如何让SpecFlow期待异常?

我正在使用SpecFlow,我想写一个如下的场景:

Scenario: Pressing add with an empty stack throws an exception
    Given I have entered nothing into the calculator
    When I press add
    Then it should throw an exception
Run Code Online (Sandbox Code Playgroud)

calculator.Add()将是一个例外,所以如何在标记的方法中处理这个[Then]

expected-exception specflow

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

如何诊断"TestFixtureSetUp失败"

我们使用TeamCity作为CI服务器,我刚刚开始"TestFixtureSetUp Failed"在测试失败窗口中看到.

知道如何调试这个问题吗?测试在我的工作站上运行良好(VS2008中的R#test runner).

teamcity nunit

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

RabbitMQ和消息优先级

RabbitMQ有任何消息优先级的概念吗?我有一个问题是一些更重要的消息由于在队列中排在它之前的不太重要的消息而变慢.我希望优先级高的优先级移动到队列的前面.

我知道我可以使用两个队列"快速"队列和"慢"队列来近似这个,但这似乎是一个黑客.

有没有人知道使用RabbitMQ更好的解决方案?

rabbitmq

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

PowerShell中哈希表值的字符串插值

我有一个哈希表:

$hash = @{ First = 'Al'; Last = 'Bundy' }
Run Code Online (Sandbox Code Playgroud)

我知道我可以这样做:

Write-Host "Computer name is ${env:COMPUTERNAME}"
Run Code Online (Sandbox Code Playgroud)

所以我希望这样做:

Write-Host "Hello, ${hash.First} ${hash.Last}."
Run Code Online (Sandbox Code Playgroud)

......但我得到了这个:

Hello,  .
Run Code Online (Sandbox Code Playgroud)

如何在字符串插值中引用哈希表成员?

powershell

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

Resources.Designer.cs应该受源代码控制吗?

我有Resources.resx,用于生成Resources.designer.cs.应该检查Resources.designer.cs,还是可以依赖Visual Studio在需要时生成它?

resx visual-studio

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

解析装配合格的名称?

我想解析.NET 3.5中的程序集限定名称.特别是,组件本身不可用,它只是名称.我可以想到很多方法可以手动完成,但我想我可能会遗漏一些在系统库中执行此操作的功能.有什么建议吗?

.net reflection parsing assemblies

28
推荐指数
3
解决办法
9571
查看次数