public bool TryGet(string name, IEnumerable <InjectionValue> argumentValues, out NativeSubrutineDefinition subrutineDefinition) { var key = NativeSubrutineDefinition.GetSignature(name, argumentValues); if (subrutines.TryGetValue(key, out var value)) { subrutineDefinition = value; return(true); } key = NativeSubrutineDefinition.GetAnySignature(name, argumentValues); if (subrutines.TryGetValue(key, out value)) { subrutineDefinition = value; return(true); } subrutineDefinition = null; return(false); }
public void Add(NativeSubrutineDefinition subrutineDef) => subrutines.Add(subrutineDef.GetSignature(), subrutineDef);