Esempio n. 1
0
        public IEnumerable <MethodInfo> MethodsForOperation(PortalOperation operation)
        {
            if (!RegisteredOperations.TryGetValue(operation, out var methods))
            {
                return(null);
            }

            return(methods.AsReadOnly());
        }
Esempio n. 2
0
        public void RegisterOperation(PortalOperation operation, MethodInfo method)
        {
            var returnType = method.ReturnType;

            if (!(returnType == typeof(void) || returnType == typeof(Task)))
            {
                throw new OperationMethodException($"{method.Name} must be void or return Task");
            }

            if (!RegisteredOperations.TryGetValue(operation, out var methodList))
            {
                RegisteredOperations.Add(operation, methodList = new List <MethodInfo>());
            }

            methodList.Add(method);
        }