IRONSOFTWAREHOME

C# Kullanım Direktifleri ve .NET 8'de Tür Takma Adları

C#'da Kullanım Direktifleri ve Tür Takma Adları .NET 8'de

Tim Corey

9m 03s

C#'deki using anahtar kelimesi birden fazla iş yapar ve bu kelimenin temel hali ile yeni yetenekleri arasındaki fark çoğu geliştiricinin fark ettiğinden daha büyüktür. Başından beri var olan ad alanı kısayolları, .NET 6 ile statik sınıf importları geldi ve .NET 8, alias söz dizimini herhangi bir türü kapsayacak şekilde genişletti, bunlar arasında tuple'lar da vardır. Üç biçimi de bilmek, tekrarlayan tür bildirimlerini bir dosyanın en üstünde tek bir okunabilir isime indirmenizi sağlar.

Bu kılavuz, Tim Corey'nin en son özelliklerini anlattığı bir walkthrough'a dayanan .NET 8 konsol uygulamasında using direktifinin her formunu inceler. Tanıdık ad alanı kısayolundan yeni tür alias sözdizimine kadar geliştireceğiz.

Başlangıç: Temel Ad Alanı Direktifi

[0:35 - 1:35] Kurulum, örtük kullanımları kapatarak başlar, böylece her direktif kodda açıkça görülür. Üst kısımda herhangi bir using ifadeleri olmadan, Console.WriteLine çağrısı tam kalifiye adı gerektirir: System.Console.WriteLine. Tek bir direktif eklemek bunu çözer:

using System;
C#

O tek satır, System içindeki her türü kısa adıyla erişilebilir kılar. Direktif, kütüphane anlamında bir ithalat değildir; yeni bir kod alınmıyor. Bu, derleyici bir yeterli tür ismiyle karşılaştığında nereye bakacağını belirten bir ad alanı kısayoludur.

Statik Kullanım: Sınıf Adını Atlayarak

[2:19 - 2:45] using static formu, bir ad alanı yerine belirli bir statik sınıfı hedefler. Bunu System.Console'e işaret etmek, o sınıfın her statik üyesini sınıf ön eki olmadan erişilebilir hale getirir:

using static System.Console;

WriteLine("Hello, world!");
C#

Console.WriteLine yerine, WriteLine doğrudan çağrılır. .NET 6'da gelen bu form, bir dosyanın aynı statik sınıfı tekrarlayan bir şekilde çağırdığı zaman en faydalı olanıdır. Tekrarlayan sınıf adını kaldırmak, her çağrı noktasında görsel kalabalığı azaltır.

Tür Aliases: Herhangi Bir Türe İsim Verme

[3:41 - 6:40] .NET 8, alias söz dizimini genişletti, böylece using herhangi bir türe kısa bir isim atayabilir. Teşvik edici bir durum, bir adı verilmiş demettir. Demetler, bir metodun tam bir sınıf tanımı olmadan birkaç ilgili değeri geri göndermesi gerektiğinde yaygın döndürme türleridir, ancak bir dosyada aynı demet türünü birden fazla kez bildirmek, çok fazla tekrara neden olur:

// Without an alias, each declaration repeats the full tuple type
(string FirstName, string LastName) GetUser() { ... }
(string FirstName, string LastName) person = GetUser();
C#

Bir tür alias, bunu üst kısımda tek bir bildirimle azaltır:

using Person = (string FirstName, string LastName);
C#

O andan itibaren dosyada Person, tam tuple tanımının yerini alır:

Person GetUser() { ... }
Person person = GetUser();
C#

Alias, yalnızca bildirildiği dosya içinde yaşar. Tüm uygulama genelinde yayılmaz. Not: Eğer türü proje genelinde kullanılabilir hale getirmeniz gerekiyorsa, bir kayıt veya sınıf uygun seçimdir.

Alias ile Kayıt veya Sınıf Arasındaki Fark

[5:32 - 6:23] Yaygın bir soru ortaya çıkar: eğer Person bir kayıt gibi görünüyorsa, neden sadece bir kayıt ilan etmiyoruz? Cevap kapsam ve ağırlığa dayanır. Bir kayıt veya sınıf, tüm proje genelinde var olan adlandırılmış bir türdür, kendi dosyasını taşır ve kod tabanı geliştikçe bakımı gereklidir. Bir demet aliası dosya yerel pratik bir çözümdür. İki ya da üç kez bir sınıf dosyası içinde bir iki alanlı demet kullandığınızda, tam bir tür tanımı oluşturmak, alias'ın kaçındığı bakım yükü ekler. .NET ekibinin niyeti, ham bir demet ve tam bir sınıf arasında zorlayıcı bir seçim yerine, seçeneklerin bir gradyanını sunmaktır.

Sonuç

Üç using formu farklı ihtiyaçları karşılar. Temel ad alanı direktifi, bir dosya genelinde kalifiye tür adlarını kısaltırken, using static statik üye çağrılarından sınıf ön ekini kaldırır. .NET 8 tür aliası, bir dosyayla sınırlı olarak demetler dahil olmak üzere herhangi bir türe okunabilir bir isim atar. Her form, kodunuzun temel davranışını değiştirmeden tekrarı azaltır.

Tim Corey'nin YouTube videosunu ve kanalını ziyaret ederek çalışan bir .NET 8 projesinde tüm bu biçimleri canlı olarak izleyin.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez