[Serializable()]
[System.Security.Permissions.HostProtection(MayLeakOnAbort = true)]
public class HashSet<T> : ICollection<T>, ISerializable, IDeserializationCallback, ISet<T>
+#if MONO
+ , IReadOnlyCollection<T>
+#endif
#endif
{
#if SILVERLIGHT
public class LinkedList<T>: ICollection<T>, System.Collections.ICollection
#else
+
[Serializable()]
public class LinkedList<T>: ICollection<T>, System.Collections.ICollection
,ISerializable, IDeserializationCallback
+#if MONO
+ , IReadOnlyCollection<T>
+#endif
#endif
{
// This LinkedList is a doubly-Linked circular list.
#endif
[DebuggerTypeProxy(typeof(System_DictionaryDebugView<,>))]
[DebuggerDisplay("Count = {Count}")]
- public class SortedDictionary<TKey, TValue> : IDictionary<TKey, TValue>, IDictionary {
+ public class SortedDictionary<TKey, TValue> : IDictionary<TKey, TValue>, IDictionary
+#if MONO
+ , IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>
+#endif
+ {
#if !FEATURE_NETCORE
[NonSerialized]
#endif
return Values;
}
}
+
+#if MONO
+ IEnumerable<TKey> IReadOnlyDictionary<TKey, TValue>.Keys {
+ get {
+ return Keys;
+ }
+ }
+
+ IEnumerable<TValue> IReadOnlyDictionary<TKey, TValue>.Values {
+ get {
+ return Values;
+ }
+ }
+#endif
public void Add(TKey key, TValue value) {
if( key == null) {