草庐IT

外参数

全部标签

c++ - SHGetPathFromIDList() (和类似的)是否在其参数中放置一个终止 0?

这其实是一个关于海量winapi函数的问题。典型的MS文档说(来自http://msdn.microsoft.com/en-us/library/bb762194(VS.85).aspx):BOOLSHGetPathFromIDList(PCIDLIST_ABSOLUTEpidl,LPTSTRpszPath);pidl[in]Theaddressofanitemidentifierlistthatspecifiesafileordirectorylocationrelativetotherootofthenamespace(thedesktop).pszPath[out]Theaddr

c# - 输出参数有什么问题?

在SQL和C#中,我从来都不喜欢输出参数。我也从未在VB6中传递参数ByRef。指望副作用来完成某事的事情让我很困扰。我知道它们是一种解决无法从一个函数返回多个结果的方法,但SQL中的行集或C#和VB中的复杂数据类型也同样有效,而且对我来说似乎更像是self记录。是我的想法有问题,还是有权威的资源支持我?你个人对此有何看法?为什么?我可以对想要使用可能说服他们使用不同结构的输出参数进行设计的同事说些什么?编辑:有趣的转折-我问这个问题的输出参数被用来代替返回值。当返回值为“ERROR”时,调用者应该将其作为异常处理。我正在这样做,但对这个想法不满意。一位同事没有被告知需要处理这种情况,

c# - 将空参数传递给 SignalR 客户端代理时为 "Value cannot be null"

使用SignalR(v2.0.2)我遇到了这个异常:Valuecannotbenull.Parametername:oatNewtonsoft.Json.Utilities.ValidationUtils.ArgumentNotNull(Objectvalue,StringparameterName)atNewtonsoft.Json.Linq.JToken.FromObjectInternal(Objecto,JsonSerializerjsonSerializer)atNewtonsoft.Json.Linq.JToken.FromObject(Objecto,JsonSerial

C# ADO.NET IBM DB2 命名参数具有相同的名称抛出没有足够的参数指定异常

我有一个相当不可知的ADO.NET应用程序,它连接到许多数据库并且能够提取必要的信息来运行。我遇到了DB2及其处理命名参数的问题,尤其是当我在同一个查询中重用命名参数时。我知道有几种方法可以通过简单地添加更多参数来解决这个问题,但理论上它应该像在我连接的其他数据库上一样工作,因为参数名称相同。我正在做的事情有点复杂,涉及子查询等,但为了演示,采用以下查询:从test.table中选择值,其中cola=@key1和colb=@key1;命名参数@key1被使用了两次。我的代码如下:try{DbProviderFactorydbfFactory=DbProviderFactories.Ge

c# - 如何在 VSTemplate 中创建评估的自定义参数

因此,我正在修改一个多项目VS模板(VisualStudio项目模板),我想在根模板中设置一个自定义参数以供子模板使用。但是,我想根据现有参数进行设置。因此,例如,这工作正常:变量$FaultProject$被MyProject.FaultContracts替换,这是应该的。然而,这不起作用:我希望$safeprojectname$被替换为正确的值,但事实并非如此。相反,变量$FaultProject$被替换为$safeprojectname$.FaultContracts。$safeprojectname$被解释为文字而不是它本身的参数。尽管在同一个文件中,这完全按预期工作:WCFF

c# - 如何调用重载的 c# 函数,唯一的区别是在 c++/cli 中是否通过 ref 传递参数

我有一个带有重载方法的C#类库,一个方法有一个ref参数,另一个有一个value参数。我可以在C#中调用这些方法,但在C++/CLI中无法正确调用。编译器似乎无法区分这两种方法。这是我的C#代码namespacetest{publicclasstest{publicstaticvoidfoo(inti){i++;}publicstaticvoidfoo(refinti){i++;}}}和我的C++/CLI代码intmain(array^args){inti=0;test::test::foo(i);//errorC2668:ambiguouscalltooverloadedfuncti

c# - 为什么 C# 无法从非泛型静态方法的签名中推断泛型类型参数类型?

我进行了以下推理测试:staticclassInferenceTest{staticvoidTakeInt(inta){}staticintGiveInt(){return0;}staticintTakeAndGiveInt(inta){return0;}staticvoidConsumeAction1(Actiona){}staticvoidConsumeFunc1(Funcf){}staticvoidConsumeFunc2a(Funcf){}staticvoidConsumeFunc2b(Funcf){}staticvoidConsumeFunc2c(Funcf){}static

c# - MEF:使用 CreationPolicy.NonShared 时将不同的构造函数参数传递给一个部分

我知道有很多关于使用MEF的构造函数参数注入(inject)的问题,但我的有点不同。我想知道当我使用PartCreationPolicy(CreationPolicy.NonShared)的组合时,有什么方法可以将不同的参数值传递给部件的构造函数吗?和GetExportedValue?例如:[PartCreationPolicy(CreationPolicy.NonShared)][Export]publicpartialclassFoo{[ImportingConstructor]publicFoo([Import("SomeParam")]objectparameter){...}

c# - 空传播运算符、out 参数和错误的编译器错误?

假设我有一个类,其属性类型为Dictionary,那可能是空的。这会编译但调用TryGetValue()可以抛出NullRef运行时异常:MyClassc=...;stringval;if(c.PossiblyNullDictionary.TryGetValue("someKey",outval)){Console.WriteLine(val);}所以我添加了一个null传播运算符来防止null,但这不会编译:MyClassc=...;stringval;if(c.PossiblyNullDictionary?.TryGetValue("someKey",outval)??false)

c# - 字典 Getter 中的参数异常

我遇到了一个奇怪的情况,即以特定方式在C#字典上使用getter会产生参数异常,即使这应该是neverhappen.这个问题似乎只发生在我的电脑上。实际上,我已经找到了解决我原来问题的替代方案。但是我真的很想了解为什么原始解决方案不起作用。我有一个用于Solidworks插件的字典。它跟踪打开的文档及其事件处理程序。它是这样定义的:privateDictionary_openDocs=newDictionary();Solidworks有method检索事件文档。当我尝试使用它来检索事件文档的事件处理程序时,如下所示:_openDocs[SwApp.ActiveDoc]我得到这个Arg