using System;
namespace Password_Manager
{
sealed class ProfileList : IList<Profile>
public ProfileList() : base() { }
public override void Add(Profile p)
//grow the list by 1 and copy all existing items
Profile[] tmp = new Profile[this.Length + 1];
for (int i = 0; i < this.Length; i++)
tmp[i] = this[i];
}
this.list = tmp;
//--------------------------------------------------------
list[this.Length - 1] = p;
public override void Remove(Profile p)
Profile[] tmp = new Profile[this.Length - 1];
for (int i = 0; i < tmp.Length; i++)
if (this[i] != p)
public override Profile SearchByName(string name)
Profile result = null;
if (this[i].Name == name)
result = this[i];
if (result == null)
throw new ProfileNotFoundException();
else
return result;