C# Bölüm 2 - Global Using Ifadesi, Kullanımı

6/17/2025
.NET, C#, C# 10, Global Using, using directive
0 Yorum

C# 10 ile gelen global using ve implicit using özellikleri, kod tekrarını azaltarak daha sade projeler geliştirmenizi sağlar. Tüm detayları örneklerle bu yazıda!

C# 10 ile birlikte gelen global using özelliği sayesinde, sıkça kullanılan using ifadelerini tüm proje genelinde tek bir yerden tanımlayabilir ve tüm dosyalarda otomatik olarak kullanabilirsiniz.

global using System;

Not : Tüm global using ifadeleri, global olmayan using ifadelerinden önce gelmelidir.

Part1_Bolum1_Foto2.png

Bir öneri, global using ifadelerini en üst düzey ifadelerinizle birlikte veya tamamen ayrı bir dosyaya (örneğin GlobalUsings.cs) yerleştirmemiz veya aşağıdaki formatı kullanarak uygulamanın proje dosyasına yerleştirmemizdir;

1.Yöntem GlobalUsings.cs Ekleme

Part1_Bolum1_Foto3.png

2.Yöntem Uygulama Proje Dosyasına Ekleme

<ItemGroup> 

    <Using Include="System.Text" />

    <Using Include="System.Text.Json" />

</ItemGroup>

Implicit Global Using Statements (Gizli Global Using İfadeleri) (New 10.0)

.NET 6 tarafından sağlanan örtük global using ifadeleri, oluşturmakta olduğunuz uygulamanın türüne göre değişir.

  • Client (Microsoft.NET.Sdk)
Namespace                   
----------------------------
System                     
System.Collections.Generic 
System.IO                  
System.Linq                
System.Net.Http            
System.Threading           
System.Threading.Tasks     

Yani yukarıdaki ifadeler otomatik olarak using ile Namespaceler eklenmiş olur ve altındaki classları kullanabiliriz.

  • Web (Microsoft.NET.Sdk.Web)

Yukarıdakilerin hepsi (Microsoft.NET.Sdk) ve ekstra aşağıdakiler:

Namespace
-------------------------------
System.Net.Http.Json
Microsoft.AspNetCore.Builder
Microsoft.AspNetCore.Hosting
Microsoft.AspNetCore.Http
Microsoft.AspNetCore.Routing
Microsoft.Extensions.Configuration
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Hosting
Microsoft.Extensions.Logging

C# 10 proje şablonlarının büyük çoğunluğu, projenin ana özellik grubundaki "ImplicitUsings" öğesiyle varsayılan olarak implicity global ifadelerine izin verir. Yani biz aşağıdaki ImplicitUsings ifadesini "disable" etsek using ifadeleri çalışmaz.

<Project Sdk="Microsoft.NET.Sdk"> 

  <PropertyGroup> 

    <OutputType>Exe</OutputType> 

    <TargetFramework>net6.0</TargetFramework> 

    <ImplicitUsings>enable</ImplicitUsings> 

    <Nullable>enable</Nullable> 

  </PropertyGroup> 

</Project>

Projenizdeki genel using ifadelerini görmek için aşağdaki path'e gidin:

<ProjectName>.GlobalUsings.g.cs dosyasını bu klasör içerisinde -> \obj\Debug\netX.0

Part1_Bolum1_Foto4.png


Related posts


Yorumlar