DieseWarum ist HashSet <T> .IsReadOnly explizit?
var h = new HashSet<int>();
var r = h.IsReadOnly;
nicht kompiliert. Ich habe
var r = ((ICollection<int>)h).IsReadOnly;
zu tun, warum nicht IsReadOnly normalerweise umgesetzt wurde?
(Ich frage nicht, wie , aber warum)
Ah, ja, das macht Sinn. HashSet verbirgt auch IsReadOnly aus dem gleichen Grund, den ich vermute, daher der Kompilierungsfehler, wenn Sie versuchen, es zu verwenden. –
BTW, Sie müssen ICollection für Xaml-Serialisierung nicht implementieren; Sammlungen müssen IDictionary oder IList implementieren. Es war nur ein Beispiel für Situationen, in denen Sie eine Schnittstelle aus zwingenden Gründen implementieren müssen. – Will