Tag: C#的

WPF ICommand MVVM实现

所以在这个特定的MVVM实现中,我需要几个命令。 我真的厌倦了一个一个的实现ICommand类,所以我提出了一个解决scheme,但我不知道它有多好,所以在这里任何WPF专家的input将不胜感激。 如果你能提供更好的解决scheme,甚至更好! 我所做的是一个ICommand类和两个代表,它们将一个对象作为参数,一个代表是void(用于OnExecute),另一个代表是OnCanExecute。 所以在我的ICommand(由ViewModel类调用)的构造函数中,我发送了两个方法,并在每个ICommand方法上调用委托的方法。 它工作得很好,但我不确定这是否是一个不好的方法,或者有更好的方法。 下面是完整的代码,任何input将不胜感激,甚至消极,但请build设性。 谢谢!! 视图模型: public class TestViewModel : DependencyObject { public ICommand Command1 { get; set; } public ICommand Command2 { get; set; } public ICommand Command3 { get; set; } public TestViewModel() { this.Command1 = new TestCommand(ExecuteCommand1, CanExecuteCommand1); this.Command2 = new TestCommand(ExecuteCommand2, CanExecuteCommand2); this.Command3 = new TestCommand(ExecuteCommand3, CanExecuteCommand3); } […]

用于.NET的SFTP库

任何人都可以推荐一个很好的SFTP库使用? 现在我正在查看SecureBlackbox,IPWorks SSH,WodSFTP和Rebex SFTP等产品。 但是,我从来没有使用过任何SFTP库,所以我不知道我在找什么。 如果有人以前用过这些,我有什么理由要把产品“X”放在“Y”上? 谢谢!

closuresvariables捕获的详细说明

我已经看到无数的post,关于variables捕获如何在创build闭包时引入variables,但是他们似乎都没有详细说明具体的细节,并称之为“编译器魔术”。 我正在寻找一个明确的解释: 如何实际捕获本地variables。 捕获值types与参考types之间的差异(如果有的话)。 是否有价值types的拳击发生。 我的偏好是用价值观和指针(更接近内部发生的事情的核心)来回答,尽pipe我会接受一个涉及价值和参考的明确答案。

陷阱表示

C中的陷阱表示是什么(有些例子可能有帮助)? 这是否适用于C ++? float f=3.5; int *pi = (int*)&f; 编辑:我知道'丕'违反别名规则,它是根据C标准的UB。 至less在GCC上它不会产生错误,但会产生警告。 在这个实现(即GCC)中,假设sizeof(int) == sizeof(float)做f和*pi有相同的二进制表示/模式? 什么MSVC?

为什么控制台窗口立即closures而不显示输出?

我已经决定学习一些基本的C#(虽然我有编程经验),但是我正在遵循MSDN中的指南,但是这里的问题是他们的Hello World程序出现了,那么它会马上closures。 这是为什么? using System; public class Hello1 { public static int Main() { Console.WriteLine("Hello, World!"); return 0; } }

我们能否增加这种面向密钥的访问保护模式的可重用性?

我们是否可以增加这种面向密钥的访问保护模式的可重用性: class SomeKey { friend class Foo; // more friends… ? SomeKey() {} // possibly non-copyable too }; class Bar { public: void protectedMethod(SomeKey); // only friends of SomeKey have access }; 为避免持续的误解,这种模式与律师 – 客户惯用法不同: 它可以比律师 – 客户更简洁(因为它不涉及通过第三类代理) 它可以允许访问权限的授权 …但它也更原始的类(每个方法一个虚拟参数) (在这个问题上进行了一个侧面讨论,因此我打开了这个问题。)

URL中的URL编码斜线

我的地图是: routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with params new { controller = "Home", action = "Index", id = "" } // Param defaults ); 如果我使用URL http://localhost:5000/Home/About/100%2f200 ,则没有匹配的路由。 我将URL更改为http://localhost:5000/Home/About/100然后再次匹配路由。 有没有简单的方法来处理包含斜线的参数? 其他转义值(空格%20 )似乎工作。 编辑: 编码Base64为我工作。 它使得URL变得丑陋,但是现在没问题。 public class UrlEncoder { public string URLDecode(string decode) { if (decode == null) return null; if (decode.StartsWith("=")) { […]

捕获asynchronous方法引发的exception

使用Microsoft for .NET的async ctp,是否有可能捕获调用方法中的asynchronous方法引发的exception? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown For example, DoSomethingAsync get's data from the network and the data is invalid… a ProtocolException might be thrown */ } public void DoFoo() { try { Foo(); } catch (ProtocolException […]

如何计算给定2个string的距离相似度量?

我需要计算给定的2个string的距离相似性度量。 那我究竟是什么意思? 让我用例子来解释 真正的字眼: hospital 错误的词: haspita 现在我的目标是,我需要修改错误的单词来获得真实的单词。 在这个例子中,我需要修改2个字母。 那么百分比是多less? 我总是把真实的词汇的长度。 所以它变成2/8 = 25%,所以这2个stringDSM是75%。 我如何才能做到这一点,性能是一个关键的考虑因素?

检测TCP客户端断开

比方说,我正在运行一个简单的服务器,并从客户端accept()一个连接。 什么是最好的方式来告诉客户端何时断开连接? 通常情况下,客户端应该发送一个closures命令,但是如果手动断开连接或者完全失去networking连接呢? 服务器如何检测或处理这个?