草庐IT

c# - Silverlight 处理多个按键组合

我有一个Silverlight应用程序,我可以在其中捕获某些按键,例如Tab或Ctrl以执行某些操作。但是,我希望能够处理同时按下的多个键,例如Ctrl+R或类似的键。在Silverlight中有什么方法可以做到这一点,如果可以,怎么做? 最佳答案 看看ModifierKeysEnumeration检查多个按键组合。参见SilverlightKeyboardSupport代码示例和更多信息。voidCanvas_KeyUp(objectsender,KeyEventArgse){//checkforthespecific'v'key

c# - 在 C# 中处理文件时如何正确处理异常

我已经阅读了许多关于正确异常处理的博客/文章/书籍章节,但我仍然不清楚这个主题。我将尝试用以下示例说明我的问题。考虑具有以下要求的类方法:接收文件路径列表作为参数读取每个文件的文件内容,如果尝试这样做有任何问题则跳过返回表示文件内容的对象列表所以规范很简单,下面是我如何开始编码:publicclassFileContent{publicstringFilePath{get;set;}publicbyte[]Content{get;set;}publicFileContent(stringfilePath,byte[]content){this.FilePath=filePath;thi

c# - 处理音频 "on-fly"(C#, WP7)

有没有办法在C#和.NET中“即时”处理音频?例如,如果我想在录制时评估音频的平均强度(为此,我需要最后几毫秒)。 最佳答案 麦克风初始化,录音处理:privatevoidInitialize(){Microphonemicrophone=Microphone.Default;//100msisaminimumbufferdurationmicrophone.BufferDuration=TimeSpan.FromMilliseconds(100);DispatcherTimerupdateTimer=newDispatcherTi

c# - 如何在 C# 中正确处理相关但不同类的调用方法

老实说,我不确定如何表达这个问题,所以如果实际问题不是您根据标题所期望的,请原谅我。C#是我编写过的第一种静态类型语言,到目前为止,它的这一方面一直让我非常头疼。我很确定我对围绕如何以静态类型方式设计系统的核心思想没有很好的把握。这是我正在尝试做的事情的粗略想法。假设我有一个这样的类层次结构:abstractclassDataMold{publicabstractTResult{get;}}classTextMold:DataMold{publicstringResult=>"ABC";}classNumberMold:DataMold{publicintResult=>123}现在假

c# - 我是否必须取消订阅局部变量的匿名事件处理程序?

如果我有一个看起来像这样的代码:publicvoidFoo(){Barbar=newBar();bar.SomeEvent+=(sender,e)=>{//Dosomethinghere};bar.DoSomeOtherThingAndRaiseSomeEvent();}当方法超出范围时,bar是否会被收集,或者我是否必须手动取消订阅该事件以防止由于对SomeEvent的引用而发生内存泄漏>? 最佳答案 你的情况很好;订阅者事件不会阻止收集发布者,但可能会发生相反的情况。例如,classFoo{publiceventEventHan

c# - 在 MVC 中处理多个角色 - 基于 Action 的辅助功能

我目前有一个项目,我似乎遇到了一个关于角色的问题,我想我会就如何最好地处理这个问题征求一些意见。系统将需要可编辑、灵活的角色,不仅控制特定区域的访问,还控制系统功能的使用(添加用户、编辑用户、查看报告等)系统目前允许用户拥有多个角色,每个角色都有明确定义的访问/操作区域,例如:角色A可以访问区域1、2、3并可以添加用户。角色B可以访问区域1、5、7并可以修改用户。角色C可以访问区域4,6并且只能查看用户。因此用户可以处于角色A和C,因此可以访问:1、2、3、4和6,并且可以添加和查看用户。我的第一个解决方案是创建一个字典,将所有可能的访问/访问选项区域存储到字典中,如下所示:Dicti

c# - 处理问题

我有许多类具有实现IDisposable的私有(private)成员变量(计时器、画笔等)。我是否需要采取任何措施来确保.NETFramework正确清理这些变量?我看到的文献是指“托管资源”与“非托管资源”。这些术语让我感到困惑,因为您可以拥有一个使用非托管资源实现功能的托管类。这被认为是“非托管资源”还是“托管资源”?我的理解是,如果您不在实现IDisposable的对象上调用Dispose(),那么在应用程序退出之前不会释放资源。这种情况在长时间运行程序时会导致OutOfMemory异常。我如何确定我的代码正确地处理了资源管理?这对这些对象很重要,因为它们是自定义控件,并且可能有

c# - 在 ASP.NET 事件处理程序中使用 async/await 是否安全?

当我遇到这个时,我正在用ASP.NET编写一些代码:protectedasyncvoidsomeButtonClickHandler(...){if(awaitblah)doSomething();elsedoSomethingElse();}询问后this问题我对async/await的工作原理有了更好的理解。但后来我突然想到,以上述方式使用async/await是否安全?我的意思是在调用awaitblah之后,调用者继续执行。这意味着它可能会在awaitblah完成之前将响应返回给客户端。这是正确的吗?如果是这种情况,doSomething()/doSomethingElse()会

c# - 如何删除所有事件处理程序

这个问题在这里已经有了答案:HowcanIcleareventsubscriptionsinC#?(10个答案)关闭1年前。假设我们有一个委托(delegate)publicdelegatevoidMyEventHandler(stringx);和一个事件处理器publiceventMyEventHandlerSomething;我们添加多个事件..for(intx=0;x我的问题是..假设一个人不知道它被添加了10(或更多或更少)次,如何从事件处理程序中删除所有方法?

c# - 删除匿名事件处理程序

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:C#:Howtoremovealambdaeventhandler是否可以删除作为匿名函数附加的事件处理程序?假设我有一个事件,我以这种方式订阅它:TestClassclasss=newTestClass();classs.myCustomEvent+=(a,b)=>{Console.Write("");};是否可以使用-=以某种方式删除此事件处理程序?