public T GetElement(ContainerElementAddress <T> address) { if (!address.ContainerId.Equals(_containerId)) { throw new ArgumentException(); } return(Collection[address.Offset]); }
public void SetElement(ContainerElementAddress <T> address, T value) { if (!address.ContainerId.Equals(_containerId)) { throw new ArgumentException(); } Collection[address.Offset] = value; }
public ContainerElement <T> this[ContainerElementAddress <T> address] { get { if (!address.ContainerId.Equals(_containerId)) { throw new ArgumentException(); } return(CreateContainerElement(address.Offset)); } }
public bool Equals(ContainerElementAddress <T> other) { return(ContainerId.Equals(other.ContainerId) && Offset == other.Offset); }