Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 50988|Yanıt: 8

[Kaynak] C# 10 Küresel Atıf Kullanarak Yeni Sözdizimi Küresel

[Bağlantıyı kopyala]
Yayınlandı 20.11.2021 10:55:01 | | | |
Using direktifi, bir tür için tam nitelikli bir ad alanı belirtilmeden bir namespace'de tanımlanan bir türün kullanılmasına izin verir. Küresel modifikatörün using direktifine eklenmesi, using işleminin derlemedeki tüm dosyalara (genellikle bir proje) uygulanacağı anlamına gelir. Küresel kullanım direktifi C# 10'a eklendi. Sözdizimi şöyledir:

Önerilen uygulama, küresel içe aktarmayı ayrı bir dosyaya (her proje için bir tane) koymaktır; örneğin, isimlendirilebilir:GlobalUsings.csDosya.

Microsoft resmi dokümantasyon girişi:Bağlantı girişi görünür.

Startup.cs tarafından referans verilen isim alanını GlobalUsings.cs dosyasına koyduk, eklemeyi hatırlayarakküreselAnahtar kelimeler!! Kod şöyledir:


Bu sırada, derleyici aşağıdaki şekilde gösterildiği gibi, "komut kullanılarak küresel fonksiyon C# 8.0'da mevcut değil, lütfen dil sürümü 10.0 veya daha sonrasını kullanın" şeklinde bir hata rapor edecektir:



Bu durumda, ASP.NET Core 3.1 projesini örnek alarak, sadece projeye (.csproj dosyası) çift tıklamanız ve aşağıdaki şekilde gösterildiği gibi Project-> PropertyGroup düğümüne LangVersion'u eklemeniz yeterlidir:





Bu cümle, projenin C# 10 sözdizimi kullanılarak C# dil sürümleriyle ilgili olduğu anlamına gelir:Bağlantı girişi görünür.

Dosya aynı zamanda hata olarak bildirilmezStartup.cs Dosyanın referans verdiği isim alanı gri olarak gösterilmiştir, aşağıdaki şekilde gösterildiği gibi:



Program.cs, Startup.cs referanslarını kaldırıyoruz ve ardından aşağıdaki görselde gösterildiği gibi projeyi yeniden derliyoruz:



kullanmakILSpy_binaries_7.2.0.6702-önizleme2Ortaya çıkan WebApplication1.dll dosyası, aşağıdaki görselde gösterildiği gibi decompile edilir:



Başlangıç dosyasında hâlâ referanslar var ve GlobalUsings.cs dosya oluşturulmuyor, bu yüzden global kullanım sadece sözdizimi şekeridir, bu da bazı sıkıcı programlama işlerini basitleştirir ve iş verimliliğini büyük ölçüde artırır.

.NET 6İmplicit isim alanlarıReferanslar ayrıca küresel kullanma özelliği kullanılarak sağlanır.

Şu anda, farklı SDK türleri için farklı varsayılan isim alanları eklenmiştir ve mevcut olanlar şunlardır:

Microsoft.NET.Sdk için varsayılan isim alanı şu şekildedir:


Microsoft.NET.Sdk.Web için:

Microsoft.NET.Sdk.Worker için:

Örtük namespace referanslarını devre dışı bırakmak isterseniz, bu özelliği DisableImplicitNamespaceImports üzerinden tamamen devre dışı bırakabilirsiniz, aşağıdaki gibi:

Sadece Microsoft.NET.Sdk.Web referanslarını devre dışı bırakmak istiyorsanız, DisableImplicitNamespaceImports_Web aşağıdaki şekilde yapılandırabilirsiniz:

Test için yeni bir .NET 6.0 konsol projesi oluşturalım ve tüm projenin yalnızca Program.cs dosyası var, aşağıdaki şekilde gösterildiği gibi:



ConsoleApp1.csproj aşağıdaki şekilde yapılandırılmıştır:

Küresel kullanım direktifi nerede? Derleme sürecinde oluşturulan ara geçici dosyaları barındıran obj dizinini açın ve Debug\net6.0 dizininde bulunConsoleApp1.GlobalUsings.g.csDosya:



ConsoleApp1.GlobalUsings.g.cs dosyaları, projenin ImplicitUsings özellik ayarlarına göre otomatik olarak oluşturulur.

(Son)




Önceki:Visual Studio 2022 Enterprise Edition download and installation tutorial
Önümüzdeki:Windows Uzak Masaüstü için Nginx ters proxy'nin pratik kullanımı
Yayınlandı 21.11.2021 19:26:44 |
Yeni şeyler, öğren ve öğren
Yayınlandı 21.11.2021 23:09:21 |
Gel ve tekrar öğren。。。。。。
Yayınlandı 1.12.2021 10:07:39 |
Wei Wu
Yayınlandı 8.02.2022 09:28:46 |

Yeni şeyler, öğren ve öğren
Yayınlandı 8.02.2022 09:29:19 |


Yeni şeyler, öğren
 Ev sahibi| Yayınlandı 12.03.2022 17:52:27 |
Varsayılan referanslardan birini kaldırın ve proje dosyasını aşağıdaki kodla düzenleyin:

 Ev sahibi| Yayınlandı 19.03.2022 20:57:25 |
Dosya yolu: "C:\Program Files\dotnet\sdk\6.0.200\Sdks\Microsoft.NET.Sdk.Web\Sdk\Sdk.props"

Yayınlandı 20.02.2023 16:23:50 |
666 Yeni Dünya'nın Keşfi
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com