internal bool TryGetValueSource( IValueDescriptor valueDescriptor, out IValueSource valueSource) { foreach (var symbol in ParseResult.ValueDescriptors()) { if (ValueDescriptor.CanBind( from: symbol, to: valueDescriptor)) { valueSource = new SymbolValueSource((ISymbol)symbol); return(true); } } if (ServiceProvider.AvailableServiceTypes.Contains(valueDescriptor.Type)) { valueSource = new ServiceProviderValueSource(); return(true); } valueSource = null; return(false); }
internal bool TryGetValueSource( IValueDescriptor valueDescriptor, [MaybeNullWhen(false)] out IValueSource valueSource) { if (ServiceProvider.AvailableServiceTypes.Contains(valueDescriptor.ValueType)) { valueSource = new ServiceProviderValueSource(); return(true); } valueSource = default !;
internal bool TryGetValueSource( IValueDescriptor valueDescriptor, out IValueSource valueSource) { if (ServiceProvider.AvailableServiceTypes.Contains(valueDescriptor.Type)) { valueSource = new ServiceProviderValueSource(); return(true); } valueSource = null; return(false); }