委托与OOP的C#策略设计模式

我想知道在实施战略设计模式时使用委托与OOP的优缺点是什么? 你建议使用哪一种? 或委托解决什么样的问题? 如果OOP更好,我们为什么要使用OOP? 谢谢! -tep

检测C#应用程序中的死锁

可能重复: C#/ .NET分析工具查找竞争条件/死锁 我正在调试一个应用程序,我怀疑它正在陷入僵局并挂起。 但是,这只会每隔几天发生一次,并且它永远不会发生在我的计算机上,因此我无法将调试器挂钩。 是否有任何实用程序或方法可用于查询正在运行的应用程序并找出哪些方法/锁定/它是什么死锁? 更新:通常应用程序在客户位置运行,我无法访问该计算机,并且我不太愿意让他们安装大量软件。

转换为Int32时格式化exception

虽然我试图将值转换为Int32,但我得到一个错误格式exception,这意味着该值的格式不正确。 我想我正在转换正确格式的值。

Windows窗体大小问题在不同的分辨率

我是窗口表单开发的新手,在开发了一些表格之后我注意到表单在不同的分辨率下没有正确显示,表格超出了屏幕的某些分辨率 我想知道是否有任何设置可以根据分辨率自动调整表单,或者是否有任何黑客或某些技术可以用来设计表单。 请详细说明您的答案,因为我对Windows窗体开发非常新鲜。 谢谢

.NET的HL7对象模型

搜索将提供对象模型,解析,validation等的库或框架 我们的想法是能够启动hl7 v2或v3类型的新对象。 然后可能将其称为消息类型ORU_R01或ADT,或ORM。 如果我们能做这样的事情,生活就不会很好: HL7V2 myMessage = new HL7V2(); myMessage.Type = V2MsgTypes.ORU_R01; myMessage.TryParse(someHL7_string); if (myMessage.IsValid) { //do some work //maybe access the PID segment if (myMessage.Patient.Names.FamilyName ==”Johnson”) { //do more work } }

隔离存储和保存多个对象

我想知道创建保存和加载逻辑的最佳方法是什么,以便我可以保存和加载x项。 例如,在Isolated Storage中,我可以通过这样做轻松保存复合/ POCO对象: var settings = IsolatedStorageSettings.ApplicationSettings; settings.Add(“key”, myObject); 像这样加载: var settings = IsolatedStorageSettings.ApplicationSettings; return settings[“key”] as MyObject; 但是如何从IsolatedStorage加载x个对象? 是否最好创建一个List集合并保存,每当我想保存另一个对象时,我基本上加载现有的并执行.Add(newObject)并再次保存? 所以这样的事情: List myObjects = new List(); myObjects.Add(newObject); settings.Add(“myObjects”, myObjects); 并在加载时: var myObjects = settings[“myObjects”] as List; 但是,这需要删除并添加回来作为settings.Add需要一个唯一的密钥。 这会是最好的方法吗? 我宁愿使用设置而不是Iso文件。

面板图表将在表单最小化后进行,C#

我的表单中有一个名为Pan_Paint的面板,我的代码如下: Graphics graph = Pan_Paint.CreateGraphics(); graph.FillEllipse(new SolidBrush(Blue), 10, 10, 100, 100); 当我缩小表格时,以及当我恢复它时,线条将消失。 或者当我按Tab键时,同样的事情会发生。 我该怎么做才能解决这个问题? 谢谢。

设置值从集合提交提交mvc

我想进入控制器和模型以及来自集合的特定值,其中我按下按钮 ProductId Productname Quantity UnitPrice <% for(int i=0; i m.NorthOrderDetails[i].Quantity) %> m.NorthOrderDetails[i].UnitPrice) %> <input type="submit" title="ads" value = name=ssad /> 例如,我可以在集合中设置提交值吗? <input type="submit" title="ads" value = name=ssad /> 并且该值将等于17,例如在控制器中。 这项工作,但我如何将按钮中的文本从集合中的值更改为任何文本? 更新我使用Stephen Muecke的代码,但我编辑表因为我使用aspx页面 <button type="button" class="delete" data-id="”>Delete <input type="hidden" name="” value=”” /> 并且,遗憾的是脚本不会调用控制器

从浏览器运行WCF方法

我在Visual Studio 2010中使用C#创建一个非常基本的WCF服务。我想知道我是否可以通过键入类似于: //localhost:49815/Service1.svc/methodName(parameterValue) : //localhost:49815/Service1.svc/methodName(parameterValue)直接从浏览器运行我的方法? 这是我的代码的本质。 接口: using … namespace WcfService1{ [ServiceContract] public interface IService1{ [OperationContract] [WebGet] string echoWithGet(string s); [OperationContract] [WebInvoke] string echoWithPost(string s); } } 方法: public string echoWithGet(string s ){ return “Get: “+s; } public string echoWithPost(string s){ return “Post: ” + s; }

如何构建PCSC智能卡读卡器“友好名称”?

我使用WinSCard列出所有读者,这给我一个这样的列表: ASK RDR4x7 0 SCM Microsystems Inc. SCR3320 USB Smart Card Reader 0 SCM Microsystems Inc. SCR3320 USB Smart Card Reader 1 SCM Microsystems Inc. SCR3320 USB Smart Card Reader 2 哪个好,但我不知道哪个名字属于哪个读卡器。 这些名字来自哪里? 他们是如何建造的? 我到目前为止所发现的:在注册表中,有一个HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services键。 在此密钥下,您可以找到与读卡器的“服务”(我通过查询WMI注册表找到)匹配的子项。 例如: SCM Microsystems Inc. SCR3320 USB Smart Card Reader读卡器的服务是SCR3XX2K 。 这个子键( SCR3XX2K )有另一个子键Enum ,它有多个有趣的值: Count :DWORD,连接的读者数量 0 :STRING,硬件设备ID 我想这些是附加到’友好名称’的数字,但我无法弄清楚如何构造名称字符串。 […]