草庐IT

$USB接口

全部标签

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

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

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

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

C#:通过显式指定接口(interface)来覆盖属性

在尝试覆盖ICollection.IsReadOnly的显式接口(interface)实现时来自Collection的属性(property)类,我遇到了一些文档,指出显式接口(interface)成员实现不能被覆盖,因为它们不能有诸如virtual之类的修饰符。或abstract.在MSDN他们甚至指定如何通过创建另一个由显式接口(interface)成员实现调用的抽象或虚拟成员来使显式接口(interface)成员实现可用于继承。到目前为止没有问题。但后来我想知道:为什么在C#中可以通过显式指定接口(interface)来覆盖任何显式实现的接口(interface)成员?例如,假设

c# - 不能为接口(interface)模拟传递构造函数参数

当我调试代码并阅读创建mockLessonplannerAFactory的行时,我收到错误:Constructorargumentscannotbepassedforinterfacemocks.varmockSchoolclassCodeService=newMock();varmockDateService=newMock();varmockLessonplannerAFactory=newMock(mockDateService.Object);varmockLessonplannerBFactory=newMock(mockDateService.Object);varserv

c# - 使用 Web API 的模型绑定(bind)接口(interface)属性

我有一个看起来像这样的命令:publicinterfaceICommand{//Justamarkerinterface}publicinterfaceIUserAware{GuidUserId{get;set;}}publicclassCreateSomething:ICommand,IUserAware{publicstringTitle{get;set;}publicGuidUserId{get;set;}}REST请求是:PUT/createHTTP/1.1UserId:7da6f9ee-2bfc-70b1-f93c-10c950c8f6b0//PossibleanAuthto

c# - 自动创建一个包装器来实现一个接口(interface)

我有一些不实现特定接口(interface)但在结构上符合该接口(interface)的类。interfaceIFoo{voidmethod();}classBar{//doesnotimplementIFoopublicvoidmethod(){...}}现在,我可以围绕那些简单地委托(delegate)给包装类的类编写一个包装器classBarWrapper:IFoo{Barbar=newBar();publicvoidmethod(){bar.method();}}但这是一项繁琐的工作。这些包装类可以以某种方式自动生成吗?像这样的东西:IFoofoo=CreateWrapper(

具有插件之间共享接口(interface)的 C# 插件架构

我将我的问题分为短版和长版,供手头时间不多的人使用。精简版:我需要一些具有提供者和消费者插件的系统的架构。提供者应该实现接口(interface)IProvider,消费者应该实现IConsumer。正在执行的应用程序应该只知道IProvider和IConsumer。消费者实现可以询问正在执行的程序集(通过ServiceProcessor)哪些提供者实现了InterfaceX并返回一个List。这些IProvider对象应该被转换为InterfaceX(在消费者中),以便能够将消费者Hook到InterfaceX定义的某些事件上。这将失败,因为执行程序集不知何故不知道此Interfac

C#接口(interface)继承

给定:publicinterfaceIA{voidTestMethod();}publicinterfaceIB:IA{}为什么:typeof(IB).GetMethods().Count()==0;?明确一点:publicclassA{publicvoidTestMethod(){}}publicclassB:A{}typeof(B).GetMethods().Count();有效(它返回5);作为奖励:typeof(IB).BaseType==null 最佳答案 这是获取IA和IB计数的代码:varibCount=typeof(

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

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

c# - 只允许为特定类实现接口(interface)

是否可以只允许一些特定的类来实现一个接口(interface)?假设我创建了接口(interface)IMyInterface并且我只希望派生自UserControl的类能够实现我的接口(interface)。这可能吗? 最佳答案 你不能,但你可以通过向你的接口(interface)添加一个Control属性来实现类似的东西,并且按照惯例让所有的实现返回this。不能解决您的问题,但会让实现者思考接口(interface)是否真的属于那里。还允许界面的用户以类型安全的方式检索控件而无需强制转换。interfaceIMyInterfa