public CpuSample( string name, Frequency clockSpeed, Frequency busSpeed, TotalUsage totalUsage, Temperature packageTemperature, IEnumerable <LogicalCore> cores, IEnumerable <Temperature> temperatures) { ArgumentMust.NotBeNullOrWhitespace(() => name); ArgumentMust.NotBeNull(() => clockSpeed); ArgumentMust.NotBeNull(() => busSpeed); ArgumentMust.NotBeNull(() => totalUsage); ArgumentMust.NotBeNull(() => packageTemperature); ArgumentMust.NotBeNullOrEmpty(() => cores); ArgumentMust.NotBeNullOrEmpty(() => temperatures); Name = name; ClockSpeed = clockSpeed; BusSpeed = busSpeed; TotalUsage = totalUsage; PackageTemperature = packageTemperature; Cores = cores; Temperatures = temperatures; }