Aracılığıyla paylaş


CultureAndRegionInfoBuilder sınıfı

Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.

Not

CultureAndRegionInfoBuilder sınıfı yalnızca Windows işletim sistemleri için kullanışlıdır. Oluşturulan .nlp dosyaları Windows dışı işletim sistemlerinde desteklenmez. Ayrıca, Windows'da bile oluşturulan .nlp dosyaları yalnızca .NET Framework'te (veya NLS genelleştirme modu kullanılırken .NET Core'da) desteklenir.

sınıfı CultureInfo , ilişkili dil, alt dil, ülke/bölge, takvim ve kültürel kurallar gibi kültüre özgü bilgileri içerir. Bu sınıf ayrıca, tarih ve DateTimeFormatInfoNumberFormatInfoCompareInfosayıları büyük/küçük harfle biçimlendirme ve ayrıştırma ve TextInfo dizeleri karşılaştırma gibi kültüre özgü işlemler için gereken , , ve sınıflarının kültüre özgü örneklerini de sağlar.

Varsayılan olarak, .NET önceden tanımlanmış bir kültür kümesini temsil eden nesneleri destekler CultureInfo . Windows sistemlerinde kullanılabilen bu kültürlerin listesi için, Windows tarafından desteklenen dil/bölge adları listesindeki Dil etiketi sütununa bakın. Kültür adları BCP 47 tarafından tanımlanan standarda uyar. sınıfı, CultureAndRegionInfoBuilder tamamen yeni veya önceden tanımlanmış bir kültürü geçersiz kılan özel bir kültür oluşturmanıza olanak tanır. Özel bir kültür belirli bir bilgisayara yüklenip kaydedildiğinde, önceden tanımlanmış CultureInfo nesnelerden ayırt edilemez hale gelir ve bu nesneler gibi örneklenebilir ve kullanılabilir.

Önemli

CultureAndRegionInfoBuilder sınıfı, sysglobl.dll adlı bir derlemede bulunur. Bu türü kullanan kodu başarıyla derlemek için sysglobl.dll bir başvuru eklemeniz gerekir.

Özel bir kültür, yalnızca o bilgisayarda yönetici hakları olan bir kullanıcı tarafından bilgisayara kaydedilebilir. Sonuç olarak, uygulamalar genellikle özel kültürler oluşturmaz ve yüklemez. Bunun yerine, bir yöneticinin CultureAndRegionInfoBuilder özel bir kültür oluşturmak, yüklemek ve kaydetmek için kullanabileceği özel amaçlı bir araç oluşturmak için sınıfını kullanabilirsiniz. Özel kültür bir bilgisayara kaydedildikten sonra, önceden tanımlanmış bir kültürde olduğu gibi özel kültürün örneklerini oluşturmak için uygulamanızdaki sınıfını kullanabilirsiniz CultureInfo .

Özel bir kültür için oluşturulan tarih ve saat dizelerini ayrıştırırsanız, ayrıştırma işleminin DateTime.ParseExactDateTime.TryParseExact başarılı olma olasılığını artırmak için veya yöntemi yerine DateTime.Parse veya DateTime.TryParse yöntemini kullanmanız gerekir. Özel bir kültür için tarih ve saat dizesi karmaşık olabilir ve bu nedenle ayrıştırılması zor olabilir. Parse ve TryParse yöntemleri, bir dizeyi çeşitli örtük ayrıştırma desenleriyle ayrıştırmaya çalışır ve bunların tümü başarısız olabilir. Yöntemi TryParseExact ise uygulamanın başarılı olma olasılığı olan bir veya daha fazla ayrıştırma desenini açıkça belirlemesini gerektirir.

Özel kültür tanımlama ve oluşturma

Sınıfını CultureAndRegionInfoBuilder özel bir kültür tanımlamak ve adlandırmak için kullanırsınız. Özel kültür tamamen yeni bir kültür, var olan bir kültürü temel alan yeni bir kültür (ek bir kültür) veya mevcut bir .NET kültürünün yerini alan bir kültür olabilir. Her durumda temel adımlar aynıdır:

  1. Oluşturucusunu çağırarak bir CultureAndRegionInfoBuilder nesnenin örneğini CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) oluşturma. Varolan bir kültürü değiştirmek için, bu kültürün CultureAndRegionModifiers.Replacement adını ve numaralandırma değerini oluşturucuya geçirin. Yeni bir kültür veya ek kültür oluşturmak için benzersiz bir kültür adı ve CultureAndRegionModifiers.Neutral veya CultureAndRegionModifiers.None numaralandırma değeri geçirin.

    Not

    Bir nesnenin örneğini CultureAndRegionModifiers.Replacement oluşturmak için numaralandırma değerini kullanırsanız, nesnenin CultureAndRegionInfoBuilder özellikleri değiştirilecek nesnedeki CultureInfo değerlerle otomatik olarak doldurulur.CultureAndRegionInfoBuilder

  2. Yeni veya ek bir kültür oluşturuyorsanız:

  3. Nesnenin CultureAndRegionInfoBuilder özelliklerini gerektiği gibi değiştirin.

  4. Özel kültürü ayrı bir yordama kaydetmeyi planlıyorsanız yöntemini çağırın Save . Bu, ayrı bir özel kültür yükleme yordamına yükleyip kaydedebileceğiniz bir XML dosyası oluşturur.

Özel kültür kaydetme

Kültürü oluşturan uygulamadan ayrı bir özel kültür için bir kayıt uygulaması geliştiriyorsanız, özel kültürün tanımını içeren XML dosyasını yüklemek ve nesnesinin örneğini oluşturmak CultureAndRegionInfoBuilder için yöntemini çağırırsınızCreateFromLdml. Kaydı işlemek için yöntemini çağırın Register . Kaydın başarılı olması için, özel kültürü kaydeden uygulamanın hedef sistemde yönetim ayrıcalıklarıyla çalışıyor olması gerekir; aksi takdirde çağrısı Register bir UnauthorizedAccessException özel durum oluşturur.

Uyarı

Kültür verileri sistemler arasında farklılık gösterebilir. sınıfını CultureAndRegionInfoBuilder birden çok sistem arasında tekdüzen bir özel kültür oluşturmak için kullanıyorsanız ve mevcut CultureInfo ve RegionInfo nesnelerden veri yükleyip özelleştirerek özel kültürünüzü oluşturuyorsanız, iki farklı yardımcı program geliştirmeniz gerekir. İlki özel kültürü oluşturur ve bir XML dosyasına kaydeder. İkincisi, xml dosyasından CreateFromLdml özel kültürü yüklemek ve hedef bilgisayara kaydetmek için yöntemini kullanır.

Kayıt işlemi aşağıdaki görevleri gerçekleştirir:

  • nesnesinde CultureAndRegionInfoBuilder tanımlanan bilgileri içeren bir .nlp dosyası oluşturur.
  • .nlp dosyasını hedef bilgisayardaki %windir%\Globalization sistem dizininde depolar. Bu, özel kültürün ayarlarının oturumlar arasında kalıcı olmasını sağlar. CultureAndRegionInfoBuilder(.nlp dosyası bir sistem dizininde depolandığından yöntemi yönetim ayrıcalıkları gerektirir.)
  • .NET'i, yeni özel kültürünüzü oluşturmak için bir sonraki istekte iç önbellek yerine %windir%\Globalization sistem dizininde arama yapmaya hazırlar.

Özel bir kültür başarıyla kaydedildiğinde, .NET tarafından önceden tanımlanmış olan kültürlerden ayırt edilemez. Yöntemine CultureAndRegionInfoBuilder yapılan bir çağrı yerel bilgisayardan .nlp dosyasını kaldırana kadar özel kültür kullanılabilir.

Özel kültür örneği oluşturma

Aşağıdaki yollardan biriyle özel kültürün bir örneğini oluşturabilirsiniz:

Ayrıca, yöntemi tarafından CultureInfo.GetCultures döndürülen nesne dizisi CultureInfo özel kültürü içerir.