public void RegisterOperator(Operator op) { OperatorEntry entry; if (!_operatorMap.TryGetValue(op.Name, out entry)) { entry = new OperatorEntry(op.Name); _operatorMap.Add(op.Name, entry); } entry.RegisterOperator(op); }
public void RegisterOperator(Operator op) { if (op == null) { throw new ArgumentNullException("op"); } if (op.Name != _name) { throw new ArgumentException(String.Format("Operator being registered '{0}' does not match operator entry name '{1}'.", op.Name, _name), "op"); } if (_operators.ContainsKey(op.Signature)) { throw new InvalidOperationException(String.Format("Signature '{0}' is already registered for operator '{1}'.", op.Signature, _name)); } _operators.Add(op.Signature, op); }