Implement MachineKey.Protect and MachineKey.Unprotect
[mono.git] / mcs / class / System.Web.Mvc / System.Web.Mvc / NameValueCollectionExtensions.cs
1 /* ****************************************************************************\r
2  *\r
3  * Copyright (c) Microsoft Corporation. All rights reserved.\r
4  *\r
5  * This software is subject to the Microsoft Public License (Ms-PL). \r
6  * A copy of the license can be found in the license.htm file included \r
7  * in this distribution.\r
8  *\r
9  * You must not remove this notice, or any other, from this software.\r
10  *\r
11  * ***************************************************************************/\r
12 \r
13 namespace System.Web.Mvc {\r
14     using System;\r
15     using System.Collections.Generic;\r
16     using System.Collections.Specialized;\r
17 \r
18     public static class NameValueCollectionExtensions {\r
19 \r
20         public static void CopyTo(this NameValueCollection collection, IDictionary<string, object> destination) {\r
21             CopyTo(collection, destination, false /* replaceEntries */);\r
22         }\r
23 \r
24         public static void CopyTo(this NameValueCollection collection, IDictionary<string, object> destination, bool replaceEntries) {\r
25             if (collection == null) {\r
26                 throw new ArgumentNullException("collection");\r
27             }\r
28             if (destination == null) {\r
29                 throw new ArgumentNullException("destination");\r
30             }\r
31 \r
32             foreach (string key in collection.Keys) {\r
33                 if (replaceEntries || !destination.ContainsKey(key)) {\r
34                     destination[key] = collection[key];\r
35                 }\r
36             }\r
37         }\r
38     }\r
39 }\r