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.
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
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