public PlayersInGameEventArgs(string[] stringArgs) { Contract.Requires(stringArgs != null); Contract.Requires(stringArgs.Length >= 3); Contract.Requires(EventContractHelper.TryParseInt(stringArgs[0]) && int.Parse(stringArgs[0]) >= 1); Contract.Requires(Contract.ForAll(1, stringArgs.Length, i => (i % 2 == 1) ? EventContractHelper.TryParseInt(stringArgs[i]) : true)); PopulateWithArgs(stringArgs); }