public void DefineProperty(string name, int propertyType, int offset, int size) { var propertyDescription = new PropertyDescription(name, offset, size, propertyType); if (this.propertyIndex < this.messageDescription.Properties.Count) { var existingDesc = this.messageDescription.Properties[this.propertyIndex]; if (existingDesc != propertyDescription) { throw new MessageRegistryException(propertyDescription, existingDesc); } ++this.propertyIndex; return; } this.messageDescription.Properties.Add(propertyDescription); ++this.propertyIndex; this.messageDescription.MinSize += propertyDescription.Size; }
public MessageRegistryException(PropertyDescription newDesc, PropertyDescription oldDesc) : base(string.Format("Mismatch description for property {0} / {1}", newDesc, oldDesc)) { }