草庐IT

c# - 在 Roslyn 分析器中检查表达式类型的正确方法?

我正在使用Roslyn编写代码分析器,我需要检查是否有ExpressionSyntax类型为Task或Task.到目前为止我有这个:privatestaticboolIsTask(ExpressionSyntaxexpression,SyntaxNodeAnalysisContextcontext){vartype=context.SemanticModel.GetTypeInfo(expression).Type;if(type==null)returnfalse;if(type.Equals(context.SemanticModel.Compilation.GetTypeByMe

c# - 在 C# 中检查硬盘是否为 SSD 而不在硬盘上写入任何文件的最简单方法是什么?

如果硬盘是SSD(固态硬盘),我需要在C#中检查,没有寻道惩罚?我用过:ManagementClassdriveClass=newManagementClass("Win32_DiskDrive");ManagementObjectCollectiondrives=driveClass.GetInstances();但它只提供属性中包含SSD的字符串,我不能依赖它吗?我需要一种直接的方式来检查吗? 最佳答案 WMI将无法轻松确定这一点。这里有一个解决方案基于Windows7用于确定磁盘是否为SSD的相同算法(更多关于算法的信息:Wi

c# - 从原始波形数据中检测特定频率/音调

我正在读取来自麦克风的原始波流。(这部分工作,因为我可以将它发送到扬声器并得到很好的回声。)为简单起见,假设我想检测波形数据中的DTMF音调。实际上我想检测任何频率,而不仅仅是DTMF中的频率。但我始终知道我在寻找哪个频率。我已经尝试通过FFT运行它,但如果我想要高精度的检测(假设它只存在20毫秒),它似乎不是很有效。我可以将其检测到大约200毫秒的精度。关于算法,我有哪些选择?是否有任何.Net库? 最佳答案 您可能想查看Goertzelalgorithm如果您正在尝试检测特定频率,例如DTMF输入。有一个C#DTMFgenera

c# - 在运行时从调试可视化工具中检测源语言

我正在写一个debuggingvisualizerforVisualStudio将表达式树呈现为C#或VB.NET伪代码。我希望默认呈现语言应该与当前调试窗口的语言相匹配。另外,我想添加功能来为表达式树中的给定节点生成一个Watch表达式;这需要知道当前正在调试哪种语言。如何从可视化工具代码中检测当前正在调试哪种语言?(我假设这在任意运行时代码中是不可能的,因为代码被编译成IL。)(Projectissue) 最佳答案 感谢@dymanoid和@HomerJay最终版本是:publicenumSourceLanguage{Unkno

c# - 如何在 Windows Phone 8 应用程序中检查互联网连接可用性

我正在开发WindowsPhone8应用程序。在此应用程序中,我必须连接到服务器才能获取数据。所以在连接到服务器之前,我想检查设备是否可以连接到互联网。如果互联网连接可用,那么只有我会从服务器获取数据,否则我会显示错误消息。请告诉我如何在WindowsPhone8中执行此操作。 最佳答案 NetworkInterface.GetIsNetworkAvailable()返回NIC的状态。根据状态,您可以通过以下方式询问是否已建立连接:ConnectionProfile-使用enumNetworkConnectivityLevel的Wi

c# - ASP.Net Core,在 Controller 中检测调试与不调试

我正在编写我的第一个ASP.Net代码Web应用程序,在我的Controller中我想要一个if语句来检查我是否处于Debug模式。我知道在Startup.cs文件中我可以检查env.IsDevelopment()但那是因为IHostingEnvironment已传递到其中。我一直无法找到一种方法来检查普通Controller内的此状态。ASP.NetCore中是否有一种方法可以检测我何时在我丢失的Controller内处于Debug模式? 最佳答案 更新:@PradeepKumar的postbelow是这里更正确的答案。此答案仅指

c# - 如何在 SQL 中检索给定 StoredProcedure 参数的 .NET 类型?

我正在SQL过程之上创建“通用”包装器,我可以解析所有必需参数的名称和sqltypes,但是有什么方法可以获取它的“底层”.NET类型吗?我的目标是做这样的事情:SqlParameterparam;objectvalue;objectcorrectParam=param.GetNETType().GetMethod("Parse",newType[]{typeof(string)}).Invoke(value.ToString());param.Value=correctParam;我需要的是GetNETType。我知道它可以写成param.SqlDbType内部的开关,但这是更短的方

c# - 如何从 C# 项目的 Resources 文件夹中检索图像

我的项目资源文件夹中有一些图片,但我想从项目的这些资源文件中更改图片框 最佳答案 考虑使用Properties.Resources.yourImageProperties.Resources包含您添加为资源的所有内容(请参阅您的项目属性,资源选项卡)除此之外,如果您将图像作为资源嵌入到您的项目中,您可以通过调用GetManifestResourceStream来获取它们。在您嵌入图像的程序集上,类似于StreamimgStream=Assembly.GetExecutingAssembly().GetManifestResource

c# - 从多变量时间序列间隔中检测罕见事件

给定传感器状态间隔的时间序列,我如何实现一个分类器,该分类器从监督训练数据中学习以根据状态间隔序列检测事件?为了简化问题,传感器状态被简化为true或false。更新:我找到了thispaper(PDF)关于时间间隔的挖掘序列,它解决了类似的问题。Anotherpaper(GoogleDocs)关于在多变量时间序列中挖掘层次时间模式采用了一种新颖的方法,但处理的是层次数据。示例训练数据以下数据是一个事件的训练示例,表示为随时间变化的图表,其中/¯¯¯\代表一个true状态间隔和\___/传感器的false状态间隔。Sensor|SensorStateovertime|0....5...

c# - 在 C# 中检查堆栈大小

有没有办法在C#中检查线程堆栈大小? 最佳答案 这是ifyouhavetoask,youcan'taffordit的案例(RaymondChen先说。)如果代码依赖于足够的堆栈空间以致必须首先检查,那么重构它以使用显式Stack可能是值得的。对象代替。John关于改用分析器的评论是有道理的。也就是说,事实证明有一种方法可以估计剩余的堆栈空间。它并不精确,但对于评估您离谷底有多近的目的来说已经足够有用了。以下内容主要基于excellentarticlebyJoeDuffy.我们知道(或将做出假设):堆栈内存分配在一个连续的block中