/// <summary> /// Extends the specific method for a particular array of arguments to be used with the container. /// </summary> public IMethod Create(System.Reflection.MethodInfo methodInfo, Argument[] arguments) { var methodHash = new MethodHash(methodInfo); if (!methods.ContainsKey(methodHash)) methods.Add(methodHash, new List<IMethod>()); var methodMetaData = new MethodMetaData(methodHash, arguments); methods[methodHash].Add(methodMetaData); return methodMetaData; }
/// <summary> /// Gets the extended container method. /// </summary> public IMethod Get(System.Reflection.MethodInfo methodInfo, object[] arguments) { var methodHash = new MethodHash(methodInfo); if (methods.ContainsKey(methodHash)) { foreach (var metaData in methods[methodHash]) { if (metaData.ValidateArguments(arguments)) return metaData; } } return null; }
public HashedMethod(IntPtr hMODULE, int token, MethodInfo method, MethodHash hash) : base(hMODULE, token, method, hash) { }