2017-11-24 1 views
0

私は気づいたall Controls have a Text property。しかし、IntellisenseはNumericUpDownオブジェクトについては提案していません。手作業で書き留めると正常に機能し、NumericUpDownの値が文字列として返されます。何故ですか?NumericUpDownのTextプロパティがIntellisenseによって提案されないのはなぜですか?

+2

正しいドメインに物事を保持し、「文字列型」コードの作成を避けるための 'Value'プロパティを持っていますか? –

答えて

3

docsプロパティは、次のように定義を示しています。

[BrowsableAttribute(false)] 
[BindableAttribute(false)] 
public override string Text { get; set; } 

BrowsableAttribute(false)ビット(またはEditorBrowsableAttribute可能性が高いが)インテリセンスからそれを「隠す」ことです。

なぜそれを隠すのですか?

このAPIは製品インフラストラクチャをサポートしており、コードから直接使用される を意図していません。

+0

ありがとう!しかし、もし私が 'Control'を取得し、そのテキストを使うメソッドを持っていたらどうでしょうか? 'TextBox'かどうかを確認し、' NumericUpDown'であれば 'Text'プロパティを使い、' Value'プロパティを使うと、他の 'Control'sを知っている人がいます。 'Control'の価値を得るための共通の特性を持つことはずっと意味があります! – Sipo

+0

あなたはそれをMicrosoftに持って行かなければなりません。彼らはコントロールとドキュメントを書いた。 – mjwills

+2

ソースコードには、参照できないようにするためにオーバーライドされているという記述もあります。http://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/NumericUpDown.cs 、0aaedcc47a6cf725、参照 –

関連する問題