草庐IT

syscall_thread_switch

全部标签

c# - switch 语句是否适用于工厂方法? C#

我想返回一个接口(interface),在switch语句中我想设置它。这是一个糟糕的设计吗?privateIResultEntityGetEntity(char?someType){IResultEntityentity=null;switch(someType){case'L'://lifeentity=newLifeEntity();break;case'P'://propertyentity=newPropertyEntity();break;case'D'://disabilityentity=newDisabilityEntity();break;case'C'://cre

c# - 在 Xamarin.Forms 中使用 Thread.Sleep

我要执行以下操作MainPage=newContentPage{Content=newStackLayout{Children={newButton{Text="Thread.Sleep",Command=newCommand(()=>{Thread.Sleep(1000);MainPage.Animate("",x=>MainPage.BackgroundColor=Color.FromRgb(x,x,x));}),},newButton{Text="Task.Run+Thread.Sleep",Command=newCommand(async()=>{awaitTask.Run((

c# - 等待和异步属性中的方法错误 'Cannot await ' System.Threading.Tasks.Task'

我已经为.NETFramework4、Silverlight4和5以及WindowsPhone7.5和8安装了NuGetPackageAsync。Version1.0.16我使用的是Microsoft.NET4.0,但由于虚拟主机包限制,我无法升级。(可悲!)我的测试代码:(我正在执行LinqtoSQL查询代替Thread.Sleep)publicclassSearch{publicasyncTask>GetResults(stringSearchString){awaitSystem.Threading.Tasks.Task.Factory.StartNew(()=>Thread.S

c# - Switch + Enum = 不是所有的代码路径都有返回值

我很好奇为什么这段代码...enumTile{Empty,White,Black};privatestringTileToString(Tilet){switch(t){caseTile.Empty:return".";caseTile.White:return"W";caseTile.Black:return"B";}}抛出该错误。t不可能取任何其他值,是吗?编译器不应该足够聪明来解决这个问题吗? 最佳答案 不,您可以使用任何转换为​​Tile的int值。试试这个:Tilet=(Tile)5;strings=TileToStrin

c# - 为什么 C# switch 语句不允许使用 typeof/GetType()?

如本例所示:switch(myObj.GetType()){casetypeof(MyObject):Console.WriteLine("MyObjectishere");break;} 最佳答案 其次是PeterHallam的帖子;这是一个很好的解释。不过,您可以使用TypeCode处理简单类型。switch(Type.GetTypeCode(myObj.GetType())){caseTypeCode.Boolean:...caseTypeCode.Char:...caseTypeCode.String:...caseType

c# - System.Threading.Thread继承

是否可以继承Thread类并重写Start方法? 最佳答案 关于为什么有人要这样做:许多语言(例如Java)和/或线程API(例如Qt)允许开发人员通过从“线程”基类继承,然后重载一个方法来实现线程实现线程例程。在Qt中广泛使用了这个模型后,我实际上发现它非常方便——不是让线程以某些函数或方法为目标,这通常会导致奇怪和/或令人费解的代码,而是将整个线程包含在一个对象中。这是使用QtAPI的示例代码:classMyThread:publicQThread{Q_OBJECTprotected:voidrun();};voidMyThre

c# - 避免 switch case -linq

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:DynamicLINQOrderByswitch(sort){case"Title":queryResults=queryResults.OrderBy(r=>r.Title);break;default:queryResults=queryResults.OrderBy(r=>r.LastName);break;有什么办法可以摆脱上面的开关block吗?我可以做一些事情吗:queryResults=queryResults.OrderBy(r=>r."sort");orqueryResults=queryR

c# - 使用 Simple Injector 的 Per Thread 和 Per Web Request 的混合生活方式

我正在使用SimpleInjector作为我的IoC库。我根据网络请求注册了DbContext,它工作正常。但是有一项任务是我在后台线程中运行它。所以,我在创建DbContext实例时遇到了问题。例如Service1有一个DbContext实例Service2有一个DbContext的实例Service1和Service2从后台线程运行。Service1获取实体并将其传递给Service2Service2使用该实体,但实体与DbContext分离其实问题就出在这里:Service1.DbContext和Service2.DbContext的区别。似乎当我在ASP.NETMVC中的单独线

支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了

支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了熟悉RT-Thread和瑞萨MCU的朋友都知道,当前RT-Thread仓库的主线代码是不支持RA2E1这个BSP的。刚好,最近我在联合瑞萨推广一个叫《致敬未来的攻城狮计划》,使用的就是RA2E1开发板,正好乘着这个机会把RA2E1这个BSP合入到主线去,想必一定非常有趣。文章目录1写在前面2《致敬未来的攻城狮计划》2.1计划内容2.2当前进展3让RA2E1支持RT-Thread3.1遇到的问题3.2查找资料3.3新的问题来了3.4咨询大神3.5潜心研究3.6试着解决问题3.7皆大欢喜4小小总结5下一步计划6文末福利1写在前面借

c# - Thread.CurrentPrincipal.Identity.Name 在 WPF 中为空

编辑简单的问题是,我怎样才能让Thread.CurrentPrincipal.Identity.Name让当前用户在WPF中登录?结束编辑我正在尝试调用一个现有方法(不在任何类型的服务中;只是POCO中的一个方法)来检索当前用户:Thread.CurrentPrincipal.Identity.Name这段代码是由其他人编写的,并且(大概)与他的ASP.NETMVC项目一起工作。我正在尝试从WPF中调用相同的方法,但名称现在为空。我能做些什么吗? 最佳答案 将Thread.CurrentPrincipal设置为newWindowsP