C# 11 .NET türleri için görünürlük (akış) file Daha önce bilinen bilinenlere ek olarak public,, private,, protected,, internal,, protected internal VE private protected A.
Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.
Yeni anahtar kelimeyle file Arayüzler, sınıflar, yapılar, numaralandırmalar, delegeler ve verilen kayıtlar yalnızca ilan edildikleri dosyada görülebilir. Dahil edilen türler için file izin verilmiyor.
İlk bakışta, görünürlükle çelişiyor file Microsoft tarafından yıllarca yalnızca dosya için bir tür beyan etmek için vaaz edilen en iyi uygulamalar. Eğer o zaman ilave olan bir adam var file Donanımlı, dosya dışında görünmez ve bu nedenle gereksizdir.
Bununla birlikte, pratikte, bir dosyada farklı küçük türleri bildirmek mantıklı olabilir, çünkü bir sınıf kendi kişisel veri yapısını farklı bir sınıf veya bir tür kayıt şeklinde alır. Microsoft bölgeye sahiptir file Origin jeneratörleri için tanıtıldı: Diğer jeneratörlerle çatışmadan yardımcı sınıflar üretebilmelidirler.
Kullanım örneği
Bir dosyanın içeriğini gösteren kod, üç türü örnek olarak bildirir:
namespace NET7Console;
public interface IPerson
{
public int ID { get; set; }
public string? Name { get; set; }
public string GetInfo();
}
file class Person : IPerson
{
public int ID { get; set; }
public string? Name { get; set; }
public string GetInfo() =>
$"{this.GetType().FullName} {this.ID}: {this.Name}";
}
public class PersonManager
{
public int ID { get; set; }
public string? Name { get; set; }
public string GetInfoFromTestPerson()
{
Person p = new();
return p.GetInfo();
}
public IPerson CreatePerson()
{
return new Person();
}
// Nicht möglich: File-local type 'Person' cannot be used
// in a member signature in non-file-local type 'PersonManager'.
//public int GetInfo(Person p)
//{
// return p.GetInfo();
//}
}
Türleri ile file-Scope, derleyiciden onu açıklayan bir ad alır. İsmin yapısı: <Dateiname>HEX-ZAHL__Typname.
Kapasiteli bir çocuk file Genel olarak görünür olan başka bir adamı kapsayabilir. Örnek: Bir sınıfın yanındaysa Person Kişi.cs dosyasında, internal VEYA public Bu başka bir sınıf file class Person Test.cs'de, bu testin içindeki tiptir. Person KİŞİ.CS'den görülemez.
(RME)

Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.
Yeni anahtar kelimeyle file Arayüzler, sınıflar, yapılar, numaralandırmalar, delegeler ve verilen kayıtlar yalnızca ilan edildikleri dosyada görülebilir. Dahil edilen türler için file izin verilmiyor.
İlk bakışta, görünürlükle çelişiyor file Microsoft tarafından yıllarca yalnızca dosya için bir tür beyan etmek için vaaz edilen en iyi uygulamalar. Eğer o zaman ilave olan bir adam var file Donanımlı, dosya dışında görünmez ve bu nedenle gereksizdir.
Bununla birlikte, pratikte, bir dosyada farklı küçük türleri bildirmek mantıklı olabilir, çünkü bir sınıf kendi kişisel veri yapısını farklı bir sınıf veya bir tür kayıt şeklinde alır. Microsoft bölgeye sahiptir file Origin jeneratörleri için tanıtıldı: Diğer jeneratörlerle çatışmadan yardımcı sınıflar üretebilmelidirler.
Kullanım örneği
Bir dosyanın içeriğini gösteren kod, üç türü örnek olarak bildirir:
- arayüz IPerson kapsam public
- Sınıf Person. IPerson akış hızı ile uygulandı file
- Sınıf PersonManager kapsam public
namespace NET7Console;
public interface IPerson
{
public int ID { get; set; }
public string? Name { get; set; }
public string GetInfo();
}
file class Person : IPerson
{
public int ID { get; set; }
public string? Name { get; set; }
public string GetInfo() =>
$"{this.GetType().FullName} {this.ID}: {this.Name}";
}
public class PersonManager
{
public int ID { get; set; }
public string? Name { get; set; }
public string GetInfoFromTestPerson()
{
Person p = new();
return p.GetInfo();
}
public IPerson CreatePerson()
{
return new Person();
}
// Nicht möglich: File-local type 'Person' cannot be used
// in a member signature in non-file-local type 'PersonManager'.
//public int GetInfo(Person p)
//{
// return p.GetInfo();
//}
}
Türleri ile file-Scope, derleyiciden onu açıklayan bir ad alır. İsmin yapısı: <Dateiname>HEX-ZAHL__Typname.
Kapasiteli bir çocuk file Genel olarak görünür olan başka bir adamı kapsayabilir. Örnek: Bir sınıfın yanındaysa Person Kişi.cs dosyasında, internal VEYA public Bu başka bir sınıf file class Person Test.cs'de, bu testin içindeki tiptir. Person KİŞİ.CS'den görülemez.
(RME)