草庐IT

void-compatibility

全部标签

ios - 无法调用非函数类型的值'((成功 : Bool, 错误 : NSError?)抛出 -> Void)?)

我更新到Swift2和Xcode7并运行了迁移工具。然后我得到了很多错误。我坚持的一个是这个funcauthorizeHealthKit(completion:((success:Bool,error:NSError?)throws->Void)?){//1.SetthetypesyouwanttoreadfromHKStorelethealthKitTypesToRead=(array:[HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount)])//2.Setthetypesyouwantto

Swift 2 - UnsafeMutablePointer<Void> 对象

如果我有这样的方法:funcsomeMethod(contextPtr:UnsafeMutablePointer)如何从contextPtr中获取对象?funcsomeMethod(contextPtr:UnsafeMutablePointer){letobject:MyObject=contextPtr.memory}给出:'Void'isnotconvertibleto'MyObject'秘诀是什么更多细节:我实际上在这里做的是为SCNetworkReachability设置一个全局回调函数:funccallback(reachability:SCNetworkReachabili

swift - 如何快速将自己转换为 UnsafeMutablePointer<Void> 类型

在调用以下代码时,试图在swift中将“self”传递给C函数:varcallbackStruct:AURenderCallbackStruct=AURenderCallbackStruct.init(inputProc:recordingCallback,inputProcRefCon:UnsafeMutablePointer)在此处将“self”转换为UnsafeMutablePointer类型的理想方法是什么? 最佳答案 对象指针(即引用类型的实例)可以是转换为UnsafePointer(constvoid*的Swift映射,

c# - 为什么不是 System.Void?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhatisSystem.Void?我没有实际理由知道这个答案,但我还是很好奇......在C#中,尝试使用System.Void会产生编译错误:errorCS0673:System.VoidcannotbeusedfromC#--usetypeof(void)togetthevoidtypeobject据我了解,void只是System.Void的别名。所以,我不明白为什么不能直接使用“System.Void”,例如“System.String”的“string”。我很想阅读对此的解释!顺便说一句,Syst

c# - 为什么 Void 是一个结构?

我意识到在Microsoft.NETFramework中,void返回类型是一个结构。为什么?...publicvoidTestMethod(){}... 最佳答案 框架使用avaluetypecalledSystem.Void表示用于反射的void返回类型关键字。虽然void意味着缺少返回值,但它在技术上仍然是一种类型,为了在代码中这样表达它,它必须是结构(值类型)或类(引用类型)。参见MethodInfo.ReturnType举个例子。至于为什么框架设计者选择将System.Void做成一个结构而不是一个类,这是任何人的猜测,但

c# - 将 void 返回类型与 new Func<T, TResult> 一起使用

我在调用此示例函数的代码中使用匿名委托(delegate):publicstaticintTestFunction(inta,intb){returna+b;}代表看起来像这样:vardel=newFunc(TestFunction);我的问题是:如何为TResult指定一个void返回类型?以下不起作用:publicstaticvoidOtherFunction(inta,stringb){...}vardel=newFunc(OtherFunction); 最佳答案 如果没有返回类型,你想要Action:vardel=newAc

c# - 没有参数的 void Func

有一些类似的问题,但不完全像我的。对于没有返回值(即void)且没有参数的函数,是否存在等效的Func?相关问题是Funcnotreturninganything?但这不能回答void类型。(我需要它来请求从我的View模型到我的View的操作)。 最佳答案 你的措辞令人困惑。您的意思可能是“没有返回类型且没有参数的函数”。有简单的System.Action.Actionaction=()=>Console.WriteLine("helloworld");action();来自您的评论:ButIneedtofillinatypein

c# - 使 void 不是原始类型的设计原理是什么?

在void类型上使用反射Type.IsPrimitive时返回false。来自C++背景,这令人惊讶。查看C#6.0spec(第82页)没有提到void类型,这可能意味着它没有完全归类为一种类型。语言规范中是否有任何内容将void归类为其他内容。或者任何其他讨论或类似的提到这背后的原因? 最佳答案 为什么void不是原始类型?因为它不是你可以实例化的东西。它不是原始类型,也不是引用类型。什么都不是。EricLippert在thispostonSoftwareEngineering中描述了void类型的一些“问题”,它详细介绍了voi

c# - 为什么 C# 不允许我调用 void 方法作为返回语句的一部分?

我很好奇,当调用方法的返回类型也是void时,C#不支持调用void方法作为return语句的一部分是否有正当理由。publicvoidMethodA(){return;}publicvoidMethodB(){returnMethodA();}所以我们通常会看到这个:publicvoidMethodMeh(){if(expression){MethodA();return;}//Domorestuff}...当我们可以使用它时:publicvoidMethodAwesome(){if(expression)returnMethodA();//Domorestuff}这是由于C#处理v

c# - 如何测试 MethodInfo.ReturnType 是否为 System.Void 类型?

使用反射获取一个MethodInfo,我想测试返回的类型是否为typeofSystem.Void。测试它是否是System.Int32工作正常myMethodInfo.ReturnType==typeof(System.Int32)但是myMethodInfo.ReturnType==typeof(System.Void)不编译?目前我正在测试名称的字符串表示是否为“System.Void”,这似乎是非常错误的。 最佳答案 您不能使用System.Void直接,但可以使用typeof(void)访问它.一些人指出(例如here和评论