AsyncDolls.AsyncDollsPartial.ElementInstance.CreateInvoker C# (CSharp) Method

CreateInvoker() static private method

static private CreateInvoker ( ILinkElement step ) : IElementInvoker
step ILinkElement
return IElementInvoker
        static IElementInvoker CreateInvoker(ILinkElement step)
        {
            var behaviorInterface = step.GetType().GetInterfaces().First(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(ILinkElement<,>));
            var invokerType = typeof(ElementInvoker<,>).MakeGenericType(behaviorInterface.GetGenericArguments());
            return (IElementInvoker)Activator.CreateInstance(invokerType);
        }