2017-08-15 55 views
9

Basitleştirme Bu kodu vardır:Visual Studio 2017 15.3 boş çek

public UnityResolver(IUnityContainer container) 
{ 
    if (container == null) throw new ArgumentNullException("container"); 
    _container = container; 
} 

Visual Studio 3 gri noktalar gösterir ve boş çek basitleştirmek için öneriyor. yapmıyorlar

_container = container ?? throw new ArgumentNullException("container"); 

...

Burada neler oluyor:

Bu yöntem bu yapar? Neden bunu basitleştirebileceğini düşünüyor ve neden onu inşa etmeyen bir şeye basitleştiriyor?

hatadır verir geçerli:

1>L:\SL1-(SentiLAN)-SentiLAN v1 - Current System\SentilanCore\WEB API with Plugins\APITest2\App_Start\UnityConfig.cs(31,39,31,44): error CS1525: Invalid expression term 'throw' 
1>L:\SL1-(SentiLAN)-SentiLAN v1 - Current System\SentilanCore\WEB API with Plugins\APITest2\App_Start\UnityConfig.cs(31,39,31,44): error CS1002: ; expected 

enter image description here

+1

_container = konteyner düşünüyorum

Install-Package Microsoft.Net.Compilers -Version 2.3.0 sonuncusu ... Microsoft derleyici sürümünü güncellemek ?? yeni ArgumentNullException ("kapsayıcı") atmak; düzgün bir şekilde inşa edilmelidir. geçerli bir kod gibi görünüyor –

+2

Nasılsınız? Bu, Visual Studio için tek bir hata iletisi biçimidir. Benim tahminim, kullandığınız tüm oluşturma işlemi hala bir C# 6 derleyicisi kullanmasıdır. –

+1

@Jon Skeet. VS2017 kullanarak yapıyorum ve F5'e çarpıyorum. Hata penceresinde hata hiç bir hata gösterilmez ancak 2 hata, Build altındaki çıktı penceresinde gösterilir. – Stuart

cevap

6

Its bir derleyici sorunu kodu geçerlidir. sürümü güncellediler ve en son güncellemede (birkaç saat önce) hatayı düzelttiler. Bildirim açılırsa veya web sitesinden güncellemeyi indirebilirsiniz. VS 2017 bulunmayan bu yana

Veya sadece ben

+0

Şimdi bunu deneyin :) – Stuart

+0

Güncellemeden sonra aynı hata. Nuget yüklemesi de iyi gitti. – Stuart

+0

Hatta VS, aynı hata yeniden denedi. – Stuart

İlgili konular