我在
Koders发现了这段代码:
private ServiceProvider SiteServiceProvider { get { if (serviceProvider == null) { serviceProvider = new ServiceProvider(site as VSOLE.IServiceProvider); Debug.Assert(serviceProvider != null,"Unable to get ServiceProvider from site object."); } return serviceProvider; } }
我想知道,Debug.Assert(serviceProvider!= null可能会触发)有什么可能的方法吗?我的印象是新的只能被异常中止,在这种情况下永远不会达到断言.
解决方法
ServiceProvider可能会覆盖!= / ==操作符,因此对于无效状态,与null的比较返回true.
看起来很奇怪.