1 // -----------------------------------------------------------------------
\r
2 // Copyright (c) Microsoft Corporation. All rights reserved.
\r
3 // -----------------------------------------------------------------------
\r
5 using System.Collections;
\r
6 using System.Collections.Generic;
\r
7 using System.Diagnostics;
\r
8 using System.Diagnostics.CodeAnalysis;
\r
12 [Conditional("NOT_SILVERLIGHT")] // Trick so that the attribute is never actually applied
\r
13 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Delegate, Inherited = false)]
\r
14 internal sealed class SerializableAttribute : Attribute
\r
19 namespace System.ComponentModel
\r
21 internal sealed class LocalizableAttribute : Attribute
\r
23 [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "isLocalizable")]
\r
24 public LocalizableAttribute(bool isLocalizable)
\r
31 namespace System.Collections.Generic
\r
33 internal class HashSet<T> : IEnumerable<T>
\r
35 private Dictionary<T, object> _set = new Dictionary<T, object>();
\r
41 public HashSet(IEnumerable<T> items)
\r
43 foreach (T item in items)
\r
49 public bool Add(T item)
\r
51 if (!this._set.ContainsKey(item))
\r
53 this._set.Add(item, null);
\r
64 public bool Contains(T item)
\r
66 return this._set.ContainsKey(item);
\r
69 public bool Remove(T item)
\r
71 if (this._set.ContainsKey(item))
\r
73 this._set.Remove(item);
\r
79 public IEnumerator<T> GetEnumerator()
\r
81 return this._set.Keys.GetEnumerator();
\r
84 IEnumerator IEnumerable.GetEnumerator()
\r
86 return GetEnumerator();
\r