IValueConverter的最佳做法是什么?

IValueConverter的最佳做法是什么? 可以将Exception放在Convert方法中,还是应该返回“something”? 这是一个例子: [ValueConversion(typeof(float), typeof(String))] public class PercentConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null || string.IsNullOrEmpty(value.ToString())) return string.Empty; if (value is float) //Edited to support CultureInfo.CurrentCulture, return string.Format(culture, “{0:n}{1}”, ((float)value) * 100, “%”); //** Is it ok to put Exception here or should […]

你如何等待网络流来读取数据?

我的应用程序中有一个工作线程,负责三个不同的事情。 在我编写的队列中,有两个作业的请求出现,另一个作业在网络流上出现请求时被激活。 我希望我的工作线程在没有工作要做的时候等待。 这两个队列很容易,因为它们暴露了一个在有​​项目时设置的ManualResetEvent,但是NetworkStream似乎没有这个。 已从TcpClient检索NetworkStream。 我所追求的是看起来像这样的代码: while (notDone) { WaitHandle.WaitAny(new WaitHandle[] { queue1.HasData, queue2.HasData, netStream.HasData } ); // … if (netStream.DataAvailable) { netStream.Read(buffer, 0, 20); // process buffer } } 有没有人知道获取NetworkStream有数据时设置的WaitHandle的方法?

API函数AllocConsole和AttachConsole(-1)之间有什么不同?

能否请您解释一下,API函数AllocConsole和AttachConsole(-1)之间有什么不同? 我的意思是如果AttachConsole获得ATTACH_PARENT_PROCESS(DWORD)-1 。

如何获取所有域名列表?

我正在尝试获取Windows登录对话框中可用的所有域(在域下拉列表中)。 我尝试了以下代码,但它只返回我登录的域。 我错过了什么吗? StringCollection domainList = new StringCollection(); try { DirectoryEntry en = new DirectoryEntry(); // Search for objectCategory type “Domain” DirectorySearcher srch = new DirectorySearcher(en, “objectCategory=Domain”); SearchResultCollection coll = srch.FindAll(); // Enumerate over each returned domain. foreach (SearchResult rs in coll) { ResultPropertyCollection resultPropColl = rs.Properties; foreach( object domainName in resultPropColl[“name”]) { domainList.Add(domainName.ToString()); } […]

生成一些数据的防篡改签名?

我有一个数据。 目前,它是一个XML文件,但架构可能会发生变化。 所以我们暂时假设它是一个C#类。 当我将数据存储在磁盘或数据库中时,我需要添加某种签名或指纹或校验和或其他任何东西,以确保没有人可以修改数据。 警告:即使是有权访问所有源代码的管理员或开发人员也不应该修改它。 我假设由于具有完全代码访问权限的人可以轻松创建新签名(签名需要以编程方式完成,因此无需手动密码短语输入),签名需要包含一些额外的数据。 理想情况下,我应该能够从签名中提取这些数据,例如签名日期和一些字符串。 我的一般方法是使用对称加密。 我从所有字段生成哈希,即SHA-512,然后使用哈希作为密码加密该哈希和我的附加数据以获取我的签名。 要解密,我的函数将从文件中的实际数据生成散列,并尝试解密签名。 这不会是防篡改,因为在签名日期和附加信息仍然完整的情况下生成签名很容易。 由于我不是该领域的专家,我相信我正在尝试重新发明轮子,而且它不是一个非常好的轮子。 我只是想知道是否有一些标准方法? 我相信我的部分请求是不可能的(毕竟,如果有人控制整个环境,那个人也会控制系统时间),但我仍然想知道这通常是如何解决的?

单个实例并在系统托盘中通知

我正在研究应用程序(C#2.0)。 我已经在其中实现了单个实例。 一切都好。 如果我再次运行该应用程序,它会显示消息框说“实例已在运行”。 实际上我不想通过消息框显示消息。 我想使用已经运行的实例的Balloon提示显示此消息(它在系统托盘中有通知图标)。 我怎样才能做到这一点? 提前致谢。

在WPF中为DataGridRow创建ControlTemplate

我想要完成的是自定义DataGrid控件,以便每行都有圆角,没有网格线(只是我正在使用的设计)。 我一直在尝试做的是创建一个ControlTemplate来修改DataGridRow控件,使它们具有预期的外观。 到目前为止,这是我正在使用的: 这个版本显然是基本的(只是股票模板周围的边框),但是当我运行应用程序时,我看不出任何差异。 那么,问题是如何自定义DataGridRow的控件模板? 或者,如果这是不可行的,是否有更好的方法来实现我的目标:?

Silverlight,处理异步调用

我有一些代码如下: foreach (var position in mAllPositions) { DoAsyncCall(position); } //I want to execute code here after each Async call has finished 那我怎么能做到这一点呢? 我可以这样做: while (count < mAllPositions.Count) { //Run my code here } 并且在每次执行异步调用之后增加计数…但这似乎不是一种好方法 任何建议? 是否有一些上述问题的设计模式,因为我确定这是一个常见的场景?

C#检查另一个图像中是否存在图像

我不知道从哪里开始,所以一些指导会很好。 我需要做的是,检查一个大图像(比如1280×1024)并检查其中是否存在另一个较小的图像(可能是一个50×50像素的图像)。 我尝试通过比较每个非常慢的像素来做到这一点,我可能需要做100次以上,所以看起来不合适。 我只是想知道是否有更好的方法? 谢谢

使用JSONPath编辑JSON

您好SO社区:)! 我想创建一个方法,让用户编辑(或添加)JSON特定的值或对象(由JSONPath定位在JSON中)。 下面简单的例子是我的想法。 用户始终输入要更改的JSON,JSONPath和值/对象。 我正在使用Json.NET库。 方法输入 {json,jsonpath,valuetoedit} || 输出 {new json as string} 示例输入: { “store”: { “book”: [ { “category”: “reference”, “author”: “Nigel Rees”, “title”: “Sayings of the Century”, “price”: 8.95 }, { “category”: “fiction”, “author”: “Evelyn Waugh”, “title”: “Sword of Honour”, “price”: 12.99 }, { “category”: “fiction”, “author”: “Herman Melville”, “title”: “Moby Dick”, […]