草庐IT

通用设备

全部标签

c# - 获取连接的 USB 设备列表

如何获取Windows计算机上所有连接的USB设备的列表? 最佳答案 为您的项目添加对System.Management的引用,然后尝试如下操作:namespaceConsoleApplication1{usingSystem;usingSystem.Collections.Generic;usingSystem.Management;//needtoaddSystem.Managementtoyourprojectreferences.classProgram{staticvoidMain(string[]args){varusb

c# - 如何在移动设备上管理大量数据

我目前正在实现日语词典,想了解如何快速高效地查找条目的一些想法。字典条目本身被加载并存储在一个类中,该类包含日语单词(可能有多种拼写)、它们的语音发音和英语定义作为三个列表。我最初有一个树结构,每个节点代表一个单词中的一个字符。它非常快,但不幸的是使用了很多内存。定义数据本身约为35meg,树结构本身约为130meg。此外,它也只允许从日语->英语查找。内存是一个问题,因为除了需要额外的索引外,还打算存在一个WindowsPhone7版本的应用程序。该词典包含150,000个条目。总而言之,这就是我需要做的:存储定义列表此列表中有三个索引,用于日语、语音和英语含义。查找速度快(最好少于

c# - 通过 C# 弹出 USB 设备

我一直在寻找一种通过C#代码弹出USB设备的简便方法,所以我自己编写了一个小类,但它根本不起作用。由于没有弹出窗口显示“锁定成功!”我假设问题出在“LockVolume”函数中,但我不知道出在哪里。有人看到我犯的错误吗?classUSBEject{[DllImport("kernel32.dll",SetLastError=true,CharSet=CharSet.Auto)]privatestaticexternIntPtrCreateFile(stringlpFileName,uintdwDesiredAccess,uintdwShareMode,IntPtrSecurityAtt

c# - 为什么我的 Xamarin PCL 在为通用应用程序构建版本时抛出运行时异常?

我有一个在x86Debug模式下构建良好的xamarinPCL。当我将其切换到Release模式(x86或x64)或x64调试时,出现运行时异常。可能与有关https://forums.xamarin.com/discussion/57810/issue-with-xamarin-forms-in-windows-uwp-app-compiled-in-the-release-mode但我不知道我使用的是什么其他程序集。我怎么知道?我的电脑是x64。当我在调试或发布中运行x64时,我得到MyApp.Interop.dll中的异常“System.NotImplementedExcepti

c# - 具有 "has property X"约束的通用函数?

我有一个导出COM接口(interface)的第三方闭源应用程序,我通过Interop在我的C#.NET应用程序中使用它。此COM接口(interface)导出许多对象,这些对象都显示为System.Object,直到我将它们转换为适当的接口(interface)类型。我想为所有这些对象分配一个属性。因此:foreach(objectxinBigComInterface.Chickens){(xasChicken).attribute=value;}foreach(objectxinBigComInterface.Ducks){(xasDuck).attribute=value;}但是

c# - 如何在 C# 中找出蓝牙设备的 COM 端口号?

我的公司开发了一种设备,它使用虚拟COM端口通过蓝牙与PC通信。现在我们需要用户先将设备与PC(MSWindows操作系统)配对,然后在我们的应用程序中手动输入它的com端口号(我敢打赌95%的用户会在这个任务上失败)。所以我希望我的应用程序向用户显示配对蓝牙设备的列表(它们的“友好名称”列表),然后我想自动找出所选设备的COM端口号。我怎样才能在C#中做到这一点?(不依赖于已安装的蓝牙堆栈的解决方案值得赞赏)。提前致谢。 最佳答案 在Widcommbluetooth:howtoopenthevirtualCOM查看我的回答根据我对

c# - 是否有 ListDictionary 类的通用替代品?

我正在查看一些示例代码,他们在其中使用了ListDictionary对象存储少量数据(大约5-10个对象,但这个数字可能会随时间变化)。我在使用此类时遇到的唯一问题是,与我一直在做的其他事情不同,它不是通用的。这意味着,如果我在这里错了,请纠正我,每次我从这里取出一个对象或枚举它时,都在进行转换。较大的Dictionary中是否有足够的开销反对证明非通用的开销是合理的ListDictionary?将使用此对象的代码将在每次页面加载时被枚举,我猜这就是为什么ListDictionary类被用于其他替代方案之一。这也是为什么我想要从这个数据列表中获得最大性能的原因。

c# - 通用嵌套类型中的 typeof(T)

我完全不明白为什么下面的行为会这样。我什至不知道这是隐藏还是其他原因造成的。classA{publicclassB:A{publicvoidb(){Console.WriteLine(typeof(T).ToString());}publicclassC:B{publicvoidc(){Console.WriteLine(typeof(T).ToString());}}publicclassD:A.B{publicvoidd(){Console.WriteLine(typeof(T).ToString());}}}}classProgram{staticvoidMain(string[

c# - 为什么通用接口(interface)在默认情况下不是协变/逆变的?

例如IEnumerable界面:publicinterfaceIEnumerable:IEnumerable{IEnumeratorGetEnumerator();}在此接口(interface)中,泛型仅用作接口(interface)方法的返回类型,不用作方法参数的类型,因此它可以是协变的。鉴于此,编译器理论上不能从接口(interface)中推断出差异吗?如果可以,为什么C#要求我们显式设置co/contravariance关键字。更新:正如JonSkeet提到的,这个问题可以分解为子问题:编译器能否通过在当前泛型类型及其所有基类型中使用泛型类型来推断泛型类型的协变/逆变?例如..

c# - "where NOT derived from"是否有通用类型约束?

我们可以像这样对泛型类型参数指定一个“派生自”约束:classBarwhereT:IFooGenerator有没有办法指定不是派生自?我的用例:我有一堆FooGenerators是可并行化的,每个都具有相同的并行化代码,但我们不希望它们总是被并行化。publicclassFooGenerator:IFooGenerator{publicFooGenerateFoo(){...}}因此,我创建了一个用于并行生成Foo的通用容器类:publicclassParallelFooGenerator:IFooGeneratorwhereT:IFooGenerator{publicFooGener