System.Array
クラスはインターフェイスを実装しますICollection
。Count
このインターフェイスには、配列内の要素の数を指定するというパブリック プロパティがあります。
Array を宣言し、そのプロパティにアクセスするとします。
Array numbers = Array.CreateInstance(typeof(int), 10);
Console.WriteLine(numbers.Count);
画面には 10 が表示されるはずです。しかし、Count
数字の後にピリオドを入れると、プロパティが表示されません。ただし、 というプロパティがありますLength
。なぜそうなのですか?
更新: これは、明示的なインターフェイスの実装によるものです。私と似たような質問が他にもあったので、言い直すことにしました。この特定のプロパティを明示的に実装するという設計上の決定が行われたのはなぜですか? 同じ機能を持つ別のプロパティがありますLength
。では、なぜ明示的に実装された を提供するという手間がかかるのCount
でしょうか?