jjzjj

void-compatibility

全部标签

c# - 如何从 C# 中的异步任务 <bool> 函数获取 bool 结果 - 错误 : Cannot implicitly convert type `void' to `bool'

我已经创建了任务函数来验证我的json文件。一切正常,直到我没有使用结果。当我试图从asynctaskfunction获得结果时它显示错误为Cannotimplicitlyconvert'void'tobool.我的异步函数如下:privateasyncTaskMyValidationFunction(stringjson){boolisValid=true;.......DOINGMYVALIDATIONSTUFF.....returnisValid;}从另一个函数调用这个函数如下:publicboolGetJsonAndValidate(){boolisValid=true;str

c# - 如何避免使用 async void 事件处理程序重入?

在WPF应用程序中,我有一个通过网络接收消息的类。每当所述类的对象收到一条完整的消息时,就会引发一个事件。在应用程序的主窗口中,我有一个事件处理程序订阅了该事件。保证在应用程序的GUI线程上调用事件处理程序。无论何时调用事件处理程序,都需要将消息的内容应用于模型。这样做可能会非常昂贵(在当前硬件上>200ms)。这就是使用Task.Run将应用消息卸载到线程池的原因。现在,可以非常连续地接收消息,因此可以在仍在处理之前的更改时调用事件处理程序。确保一次只应用一条消息的最简单方法是什么?到目前为止,我已经得出以下结论:usingSystem;usingSystem.Threading.T

c# - 将 LINQ 序列中的项目发送到返回 void 的方法

当我处理LINQ序列时,我常常想将每个项目发送到一个返回void的方法,避免foreach循环。但是,我还没有找到一种优雅的方法来做到这一点。今天,我写了以下代码:privateStreamWriter_sw;privatevoidstreamToFile(Listerrors){if(_sw==null){_sw=newStreamWriter(Path.Combine(Path.GetDirectoryName(_targetDatabasePath),"errors.txt"));}FuncwriteSelector=(e)=>{_sw.WriteLine(getTabDelim

c# - 为什么 C# 使用 implicit void Main?

我不明白为什么C#的Main函数在默认情况下是无效的(例如在控制台项目中)。在C和C++中,标准明确规定main必须返回int,使用返回值是有意义的,因为我们可以检查来自外部程序的返回值,并查看C/C++应用程序是成功完成还是遇到错误。所以我的问题是:为什么VisualStudio将Main声明为void?一旦C#控制台应用程序执行完毕,向操作系统返回值的最佳方式是什么? 最佳答案 您可以使用int或void作为返回类型。因此,只需更改它并像在C++中那样返回一个值。为了不让新手迷惑,可能默认为void。

c# - 为什么 DbSet Add 返回的是实体实例而不是 void?

DbSet.Add方法返回一个实体。我通常会期待Add操作有void返回类型。当我查看EntityFrameworksourcecode,我看到了以下实现:publicvirtualTEntityAdd(TEntityentity){Check.NotNull(entity,"entity");GetInternalSetWithCheck("Add").Add(entity);returnentity;}GetInternalSetWithCheck返回InternalSetAddInternalSet的方法|有趣的是,它的签名中有一个void返回类型:publicvirtualvo

c# - .NET 中是否有 "Void"结构的实际用途

只是好奇,“Void”有什么实际用途吗struct除了反射? 最佳答案 System.Void等同于void关键字。查看void的工具提示,会显示structSystem.Void但是在C#中不能直接使用,所以你最好忽略它。尝试使用System.Void会产生编译错误errorCS0673:System.VoidcannotbeusedfromC#--usetypeof(void)togetthevoidtypeobject那么,就只剩下反射(reflection)的话题了。 关于c#-

c# - 无法将 void 分配给隐式类型的局部变量

varquery=rep.GetIp()//inthislineihavetheerror.Where(x=>x.CITY==CITY).GroupBy(y=>o.Fam).Select(z=>newIpDTO{IId=z.Key.Id,IP=z.Select(x=>x.IP).Distinct()}).ToList().ForEach(IpObj=>IpObj.IP.ToList().ForEach(ip=>PAINTIP(ip)));当我运行这段代码时出现错误:Cannotassignvoidtoanimplicitly-typedlocalvariable我谷歌了一下,发现这是一

c# - "public new virtual void Method()"是什么意思?

什么时候使用新的虚关键字修饰方法?什么是感情?比如定义一个接口(interface),然后添加一个类来继承这个接口(interface)。而是使用新的virtual来实现接口(interface)方法。interfaceIPrinter{voidPrint();}publicclassPrinterOne:IPrinter{publicvoidPrint(){Console.WriteLine("PrinterOne.");}}publicclassPrinterTwo:PrinterOne{publicnewvirtualvoidPrint(){Console.WriteLine("

c# - 单元测试返回 void 的方法

想在下面的类中对一个方法进行单元测试publicclassDeviceAuthorisationService:IDeviceAuthorisationService{privateDeviceDetailsDTOdeviceDetailsDTO=null;privateIDeviceAuthorisationRepositiorydeviceAuthorisationRepositiory;publicDeviceAuthorisationService(IDeviceAuthorisationRepositioryServiceparamDeviceAuthorisationRep

c# - 错误 : Cannot implicitly convert type 'void' to 'System.Collections.Generic.List'

我正在尝试使用该控件从.ascx设置我的.ascx控件的属性。所以在我的一个包含此控件的.aspx中,我有以下代码试图设置我的嵌入式.ascx的ItemsList属性:Itemitem=GetItem(itemID);myUsercontrol.ItemList=newList().Add(item);我尝试设置的.ascx中的属性如下所示:publicListItemsList{get{returnthis.itemsList;}set{this.itemsList=value;}}错误:无法将类型“void”隐式转换为“System.Collections.Generic.List