public MergedVolumeInfo(IEnumerable<Member> members, char driveLetter, string driveLabel, CreationPolicy policy) { if (members == null) { throw new ArgumentNullException("members"); } if (driveLabel == null) { throw new ArgumentNullException("driveLabel"); } if (policy == null) { throw new ArgumentNullException("policy"); } if (!Char.IsLetter(driveLetter)) { throw new ArgumentException(String.Format("{0} is not a valid drive letter", driveLetter), "driveLetter"); } this.driveLetter = Char.ToUpperInvariant(driveLetter); this.members.AddRange(members); if (this.members.Count == 0) { throw new ArgumentException("Must supply at least one Member", "members"); } if (MergedVolumeInfo.doesDriveExist(this.driveLetter)) { throw new ArgumentException(String.Format("The drive letter \"{0}\" is already in use", this.driveLetter), "driveLetter"); } this.driveLabel = driveLabel; this.policy = policy; }
internal AufsImpl(MergedVolumeInfo volumeInfo) { if (volumeInfo == null) { throw new ArgumentNullException("volumeInfo"); } this.volumeInfo = volumeInfo; this.members = volumeInfo.Members; this.policy = volumeInfo.Policy; }