2017-03-15 8 views
2

なぜ実装されていますか?それは何の変換もしないので、目的を果たさない。 「指定されたブール値を返します、実際の変換は行われませんMSDNパーboolConvert.ToBooleanboolパラメータを取るConvert.ToBoolean()の根拠は何ですか?

+0

[ToByte(byte)](https://msdn.microsoft.com/en-us/library/6c9st3bt(v = vs.110).aspx)と同じ理由です。有用性の一例は、一般的な方法であり得る。 – Sinatr

+1

この過負荷は、入力パラメータのタイプが不明な場合(たとえば 'dynamic')、' Convert.ToBoolean(dynamicValue) 'を使用すると便利です。 – Fabio

+0

@Fabio私はdynamicが本当に唯一の正当な理由だと思います。一般的に知られていない型 'Convert.ToBoolean(object)'が呼び出されますが、動的では実際に正しいオーバーロードが選択されます。たぶんあなたは答えとして投稿するべきです。 – Evk

答えて

0

過負荷をパラメータとして入力パラメータのタイプは

dynamic receivedValue = true; // or 23 (int) 
var isTrue = Convert.ToBoolean(receivedValue); 
以上

不明な場合に便利ですコードは、与えられた値の実際のタイプに基づいて ToBooleanのオーバーロードを使用します。

+0

これは本当だとは思わない。 dynamicは単にSystem.Objectをコンパイラのトリックで参照します。 –

関連する問題