public async Task<IBinding> TryCreateAsync(BindingProviderContext context)
        {
            ParameterInfo parameter = context.Parameter;

            if (context.Parameter.ParameterType != typeof(CloudStorageAccount))
            {
                return null;
            }

            IStorageAccount account = await _accountProvider.GetStorageAccountAsync(context.Parameter, context.CancellationToken);
            IBinding binding = new CloudStorageAccountBinding(parameter.Name, account.SdkObject);
            return binding;
        }
        public async Task <IBinding> TryCreateAsync(BindingProviderContext context)
        {
            ParameterInfo parameter = context.Parameter;

            if (context.Parameter.ParameterType != typeof(CloudStorageAccount))
            {
                return(null);
            }

            IStorageAccount account = await _accountProvider.GetStorageAccountAsync(context.Parameter, context.CancellationToken);

            IBinding binding = new CloudStorageAccountBinding(parameter.Name, account.SdkObject);

            return(binding);
        }
        public Task <IBinding> TryCreateAsync(BindingProviderContext context)
        {
            ParameterInfo parameter = context.Parameter;

            if (parameter.ParameterType != typeof(CloudStorageAccount))
            {
                return(Task.FromResult <IBinding>(null));
            }

            var accountAttribute = TypeUtility.GetHierarchicalAttributeOrNull <StorageAccountAttribute>(parameter);
            var account          = _accountProvider.Get(accountAttribute?.Account);

            var binding = new CloudStorageAccountBinding(parameter.Name, account.SdkObject);

            return(Task.FromResult <IBinding>(binding));
        }