public USBConfiguration WithInterface(USBInterface iface) { if (interfaces.Count == byte.MaxValue) { throw new ConstructionException("The maximal number of interfaces reached"); } interfaces.Add(iface); return(this); }
public USBConfiguration WithInterface(USBClassCode classCode = USBClassCode.NotSpecified, byte subClassCode = 0, byte protocol = 0, string description = null, Action <USBInterface> configure = null) { var newInterface = new USBInterface(device, (byte)interfaces.Count, classCode, subClassCode, protocol, description); configure?.Invoke(newInterface); return(WithInterface(newInterface)); }