internal IceMessage(string message)
{
string[] parts = message.Split('\t');
// A valid ICE message has at least 3 parts.
if (3 > parts.Length)
{
throw new ArgumentException();
}
this.Name = parts[0];
this.Type = (IceMessageType)Convert.ToInt32(parts[1], CultureInfo.InvariantCulture);
this.Description = parts[2];
if (3 < parts.Length)
{
this.Url = parts[3];
}
if (4 < parts.Length)
{
this.Table = parts[4];
}
if (5 < parts.Length)
{
this.Column = parts[5];
}
if (6 < parts.Length)
{
this.PrimaryKeys = new string[parts.Length - 6];
Array.Copy(parts, 6, this.PrimaryKeys, 0, this.PrimaryKeys.Length);
}
}