检查C#new()初始化为null?

前端之家收集整理的这篇文章主要介绍了检查C#new()初始化为null?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 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.

看起来很奇怪.

原文链接:https://www.f2er.com/c/113039.html

猜你在找的C&C++相关文章