SORU
16 EKİM 2008, PERŞEMBE


# - C İngilizce Özel mesajlar?

İstisna yazarak sistemimizde başına herhangi bir oturum özel.Bir dosya için mesaj. Ancak, istemci kültürü yazılmıştır. Türk ve hataları benim için çok şey ifade etmiyor.

Nasıl kullanıcılar kültürü değiştirmeden İngilizce herhangi bir hata iletisi günlük miyiz?

CEVAP
16 EKİM 2008, PERŞEMBE


Bu sorun kısmen etrafında çalışmış olabilir. Çerçevesinde özel durum kodu geçerli iş parçacığı yerel temel kaynaklarından hata iletileri yükler. Bazı istisnalar halinde, bu anda mülk erişilen Mesaj olur.

Bu özel durumlar, sen-ebilmek almak tam BİZE İngilizce versiyonu mesaj ile kısaca anahtarlama parçacığı yerel ayar için TR-ABD Süre giriş (kaydetme özgün kullanıcı yerel ayarı önceden ve geri yükleme hemen sonra).

Bu ayrı bir iş parçacığı üzerinde bile daha iyi yapıyor: bu herhangi bir yan etkisi olmayacak sağlar. Örneğin:

try
{
  System.IO.StreamReader sr=new System.IO.StreamReader(@"c:\does-not-exist");
}
catch(Exception ex)
{
  Console.WriteLine(ex.ToString()); //Will display localized message
  ExceptionLogger el = new ExceptionLogger(ex);
  System.Threading.Thread t = new System.Threading.Thread(el.DoLog);
  t.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
  t.Start();
}

ExceptionLogger sınıf görünüyor gibi bir şey

class ExceptionLogger
{
  Exception _ex;

  public ExceptionLogger(Exception ex)
  {
    _ex = ex;
  }

  public void DoLog()
  {
    Console.WriteLine(_ex.ToString()); //Will display en-US message
  }
}

Joe doğru bu cevap daha önceki bir revizyon hakkında bir yorum belirttiği gibi, ancak, bazı iletiler zaten (kısmen) hariç atılır zamanda dil kaynakları yüklenir.

Bu uygulanacaktır 'parametresi boş olamaz' mesajı bir ArgumentNullException zaman oluşturulan bir parçası ("") foo dışında, örneğin atılır. Bu gibi durumlarda, mesajı hala yukarıdaki kodu kullanarak bile (kısmen) lokalize görünür.

Başka kullanarak pratik kesmek gibi çalışan tüm sivil UI kod üzerinde bir iş parçacığı ile en-US yerel ilk olarak, orada değil, galiba çok şey yapabilirsin bu konuda:.NET Çerçeve özel durum kodu hata iletisini yerel ayarları geçersiz kılmak için bir tesis var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • GenTechPC

    GenTechPC

    1 Temmuz 2007
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006