草庐IT

fluent-interface

全部标签

c# - 流利地设置 C# 属性和链接方法

我正在使用.NET3.5。我们有一些复杂的第三方类,它们是自动生成的,不受我的控制,但我们必须使用它们进行测试。我看到我的团队在我们的测试代码中做了很多深层嵌套的属性获取/设置,而且它变得非常麻烦。为了解决这个问题,我想制作一个流畅的界面来设置层次结构树中各种对象的属性。这个第三方库中有大量的属性和类,手动映射所有内容太繁琐。我最初的想法是只使用对象初始值设定项。Red、Blue和Green是属性,Mix()是设置第四个属性Color与该混合颜色最接近的RGB安全颜色。涂料在使用前必须用Stir()均化。Bucketb=newBucket(){Paint=newPaint(){Red=

c# - 自引用接口(interface)

这是我想做的事情:InterfaceIMyInterface{ListGetAll(stringwhatever)}因此实现它的类必须有一个返回它们自己类型的列表的函数。这可能吗?我知道-从技术上讲-一个实现它的类可以返回一个实现它的其他类的列表,不一定是同一个类,但我可以接受它,即使它并不理想。我已经试过了,但是我无法让实现类正确地实现这个方法。 最佳答案 实现这个接口(interface)很简单:publicclassMyInterfaceImpl:IMyInterface{publicListGetAll(stringwhat

c++ - 在具有多个网络接口(interface)的机器上获取主机名

gethostname系统调用在具有多个网络接口(interface)的机器上会返回什么?是否可以在操作系统级别进行配置? 最佳答案 用于将机器连接到世界的网络接口(interface)的数量或多或少与主机名的数量无关。您可以使用一个名称(即使这有点不寻常)来使用多个接口(interface),也可以使用一个接口(interface)(更常见)使用多个名称。至于它返回什么值,MSDN说:fthegethostnamefunctionisusedonaclusterresourceonWindowsServer2008,Windows

java - 网络接口(interface)参数

当我在Windows命令提示符下键入ipconfig/all时,我从网络接口(interface)获得了一堆参数信息。有没有办法以编程方式访问它们?例如,来自Java桌面应用程序?例子:WirelessLANadapterWirelessNetworkConnection:MediaState...........:MediadisconnectedConnection-specificDNSSuffix.:Description...........:Intel(R)WirelessWiFiLink4965AGNPhysicalAddress.........:00-1D-3B-5A

c# - 以编程方式从网络接口(interface)发送数据

我有一个端口查询应用程序,用于检查远程端口是打开还是阻塞。我想要做的是在进行端口检查时,能够选择本地机器上的哪个网络接口(interface)来发送流量。这可能吗?我该怎么做?更新:我已经添加了以下几行,但它仍然没有绑定(bind)stringlocalip;localip=interfacesComboBox.Text;Socketsocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);socket.ReceiveTimeout=1000;IPAddressmyIP=IPAddre

c++ - 在 WM_CREATE 中设置接口(interface)指针,在 WM_COMMAND 中变为 NULL

我正在学习COM,目前没有遵循任何特定的架构,我正在加载我自己的库而不是使用COM引擎。我在WM_CREATE中加载我的库,创建指向ISum的接口(interface)指针,hServerLib=LoadLibrary(TEXT("QIPropertiesServer.dll"));if(hServerLib==NULL){MessageBox(hwnd,TEXT("RequiredLibrarycouldnotbefound"),TEXT("Error!!"),MB_OK);DestroyWindow(hwnd);}pfnCreateComponentInstance=(PFN_FU

windows - Visual Studio C++ 实现接口(interface)

我知道在VisualStudio中,当用C#编程时,如果我指定一个类实现一个接口(interface),我可以右键单击该接口(interface)和“实现接口(interface)”,这将自动神奇地用适当的方法签名填充我的类.编辑:对于原始问题的含糊不清,我深表歉意。我正在寻找一种快速简单的方法来让VisualStudio完成实现多个COM接口(interface)的肮脏工作,即在实现类中生成方法签名/stub。谢谢,亚历克斯 最佳答案 C++中不存在接口(interface)。IDE对该语言的支持级别是C#的优势之一。Visual

windows - 当传递的对象没有实现必要的接口(interface)时返回哪个错误代码?

在COM中,当我有一个我无法更改的众所周知的接口(interface)时:interfaceIWellKnownInterface{HRESULTDoStuff(IUnknown*);};我的IWellKnownInterface::DoStuff()实现只能在传递的对象实现某个特定接口(interface)时工作,我该如何处理这种情况?HRESULTCWellKnownInterfaceImpl::DoStuff(IUnknown*param){//thiswillQIforthespecificinterfaceATL::CComQIPtrobject(param);if(obje

c - 我应该 IUnknown::Release 使用 DllGetClassObject 创建的接口(interface)吗

我正在尝试调试一些使用COM的代码,我是初学者。最后对IUnknown::Release的两次调用让我很担心。这些接口(interface)是使用DllGetClassObject和IClassFactory::CreateInstance创建的。我看到其他类似的代码没有调用IUnknown::Release-这是正确的吗?intOpenMixer_Win_DirectSound(px_mixer*Px,intindex){DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATAdesc;HMODULEhDsound=INVALID_HANDLE_VA

windows - 在配备 GeForce 960M 的笔记本电脑上初始化 D3D12 调试接口(interface)失败

当我尝试使用标志DXGI_CREATE_FACTORY_DEBUG调用D3D12GetDebugInterface或CreateDXGIFactory2时,调用在我的笔记本电脑上失败,但在我的台式机上却没有。其他调用在笔记本电脑上运行良好,我可以渲染东西——我只是无法初始化调试层。桌面有一个老式的GeForce650Ti,笔记本电脑是戴尔XPS15笔记本电脑(最新一代),它有一个GeForceGTX960M。两者都有最新的驱动程序(361.43)。有什么想法可能会出错吗?我在NVIDIA上发布了devtalkforum首先,但交叉发布到stackoverflow,因为NVIDIA官方论