C# CA2000-“校外初级程序员”-错误还是误报?
更准确地说,我目前正在使用WebSocket开发一些桌面应用程序:我正在使用Alchemy WebSocket。到目前为止,我的代码运行良好,但VisualStudio2010告诉我要这样做C# CA2000-“校外初级程序员”-错误还是误报?,c#,websocket,dispose,false-positive,ca2000,C#,Websocket,Dispose,False Positive,Ca2000,更准确地说,我目前正在使用WebSocket开发一些桌面应用程序:我正在使用Alchemy WebSocket。到目前为止,我的代码运行良好,但VisualStudio2010告诉我要这样做 Warning 2 CA2000 : Microsoft.Reliability : In method 'ServerController.SetupServer(int)', call System.IDisposable.Dispose on object '<>g__initLoca
Warning 2 CA2000 : Microsoft.Reliability : In method 'ServerController.SetupServer(int)', call System.IDisposable.Dispose on object '<>g__initLocal0' before all references to it are out of scope. C:\Users\MaRiedl\documents\visual studio 2010\Projects\Alchemy-WebSockets\AWS-Server\ServerController.cs 38 AWS-Server
代码分析警告是因为您正在一次性对象上使用对象初始值设定项 无论何时使用对象初始值设定项,都会创建一个临时的、不可见的局部对象。有关详细信息,请参见。消息引用的是这个对象g__initLocal0,因为如果在创建异常时抛出异常,您将无法处理它 如果单独设置属性
_webSocketServer = new WebSocketServer(port, IPAddress.Any);
_webSocketServer.OnReceive = OnReceive;
然后消息将消失,因为没有创建临时对象。代码分析警告是因为您在一次性对象上使用对象初始值设定项 无论何时使用对象初始值设定项,都会创建一个临时的、不可见的局部对象。有关详细信息,请参见。消息引用的是这个对象g__initLocal0,因为如果在创建异常时抛出异常,您将无法处理它 如果单独设置属性
_webSocketServer = new WebSocketServer(port, IPAddress.Any);
_webSocketServer.OnReceive = OnReceive;
然后消息将消失,因为没有创建临时对象。谢谢,这很有帮助-不知道这些花式花括号会导致临时对象谢谢,这很有帮助-不知道这些花式花括号会导致临时对象