2016-12-19 2 views
-3

Ich versuche, eine Methode zum Ändern der Zeichenfolge in Titelvorlage zu erstellen. Aber ich bin in Schwierigkeiten.C# Der Typ '...' hat keine Konstruktoren definiert

public string PrimeiraLetraUpper(string input) 
{ 
    TextInfo ti = new TextInfo(); 
    return ti.ToTitleCase(input.ToLower()); 
} 

Fehler:

Error 2 The type 'System.Globalization.TextInfo' has no constructors defined

Wie kann ich dieses Problem lösen?

+4

Die Antwort ist leicht zugänglich in der [Textinfo Dokumentation] (https://msdn.microsoft.com/en-us/library/ system.globalization.textinfo (v = vs.110) .aspx): "Die Anwendung sollte die' CultureInfo.TextInfo' -Eigenschaft verwenden, um das TextInfo-Objekt für ein bestimmtes 'CultureInfo'-Objekt abzurufen." Sie müssen also zuerst herausfinden, an welchen Kulturregeln Sie interessiert sind. –

Antwort

0

Sie können ein Objekt TextInfo nicht initialisieren, da es keine (öffentlichen) Konstruktoren hat (source).

MSDN

The application should use the CultureInfo.TextInfo property to obtain the TextInfo object for a particular CultureInfo object.

So zum Beispiel:

public string PrimeiraLetraUpper(string input, CultureInfo ci = null) 
{ 
    if (ci == null) ci = CultureInfo.CurrentCulture; 
    return ci.TextInfo.ToTitleCase(input.ToLower()); 
} 
Verwandte Themen