2 // System.Web.HttpFileCollection
5 // Patrik Torstensson (Patrik.Torstensson@labs2.com)
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 using System
.Collections
.Specialized
;
31 namespace System
.Web
{
32 public sealed class HttpFileCollection
: NameObjectCollectionBase
{
33 private HttpPostedFile
[] _AllFiles
;
34 private string [] _AllKeys
;
36 internal HttpFileCollection() : base() {
39 internal void AddFile(string name
, HttpPostedFile file
) {
46 public void CopyTo(Array Dest
, int index
) {
47 if (null == _AllFiles
) {
48 _AllFiles
= new HttpPostedFile
[Count
];
49 for (int i
= 0; i
!= Count
; i
++) {
50 _AllFiles
[i
] = Get(i
);
54 if (null != _AllFiles
) {
55 _AllFiles
.CopyTo(Dest
, index
);
59 public HttpPostedFile
Get(string Name
) {
60 return (HttpPostedFile
) BaseGet(Name
);
63 public HttpPostedFile
Get(int index
) {
64 return (HttpPostedFile
) BaseGet(index
);
67 public string GetKey(int index
) {
68 return BaseGetKey(index
);
71 public string [] AllKeys
{
73 if (null == _AllKeys
) {
74 _AllKeys
= BaseGetAllKeys();
81 public HttpPostedFile
this [string name
] {
87 public HttpPostedFile
this [int index
] {