2016-12-19 7 views
-3

文字列をタイトルケースに変更するメソッドを作成しようとしています。しかし、私は困っている。C#タイプ '...'にはコンストラクタが定義されていません

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

エラー:

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

どのように私はこの問題を解決することができますか?

+4

答えは([のTextInfoドキュメント]で容易に入手可能であるhttps://msdn.microsoft.com/en-us/library/ system.globalization.textinfo(v = vs.110).aspx): "アプリケーションは、特定の' CultureInfo'オブジェクトのTextInfoオブジェクトを取得するために 'CultureInfo.TextInfo'プロパティを使用する必要があります。だから、あなたが最初に関心を持っている文化のケーシングルールを解決する必要があります。 –

答えて

0

TextInfoオブジェクトは(public)コンストラクタ(source)がないため、初期化できません。例えばだから

MSDN

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

public string PrimeiraLetraUpper(string input, CultureInfo ci = null) 
{ 
    if (ci == null) ci = CultureInfo.CurrentCulture; 
    return ci.TextInfo.ToTitleCase(input.ToLower()); 
} 
関連する問題