Ejemplo n.º 1
0
        public ICoconaCompletionOnTheFlyCandidatesProvider CreateOnTheFlyProvider(CoconaCompletionCandidatesMetadata metadata)
        {
            if (!(typeof(ICoconaCompletionOnTheFlyCandidatesProvider).IsAssignableFrom(metadata.CandidatesProviderType)))
            {
                throw new InvalidOperationException($"Type '{metadata.CandidatesProviderType.FullName}' doesn't implement ICoconaCompletionOnTheFlyCandidatesProvider.");
            }

            return((ICoconaCompletionOnTheFlyCandidatesProvider)_activator.GetServiceOrCreateInstance(_serviceProvider, metadata.CandidatesProviderType !) !);
        }
Ejemplo n.º 2
0
 private StaticCompletionCandidates GetStaticCandidatesCore(CoconaCompletionCandidatesMetadata metadata)
 {
     if (metadata.CandidateType == CompletionCandidateType.Provider &&
         typeof(ICoconaCompletionOnTheFlyCandidatesProvider).IsAssignableFrom(metadata.CandidatesProviderType))
     {
         return(new StaticCompletionCandidates(metadata.CandidatesProviderType !));
     }
     else
     {
         var candidatesProvider = _completionCandidatesProviderFactory.CreateStaticProvider(metadata);
         var result             = candidatesProvider.GetCandidates(metadata);
         return(new StaticCompletionCandidates(result));
     }
 }