OpenTween.MediaSelector.TryGetSelectedMedia C# (CSharp) Method

TryGetSelectedMedia() public method

選択された投稿先名と投稿する MediaItem を取得する。MediaItem は不要になったら呼び出し側にて破棄すること。
public TryGetSelectedMedia ( string &imageService, IMediaItem &mediaItems ) : bool
imageService string
mediaItems IMediaItem
return bool
        public bool TryGetSelectedMedia(out string imageService, out IMediaItem[] mediaItems)
        {
            var validItems = ImagePageCombo.Items.Cast<SelectedMedia>()
                             .Where(x => x.IsValid).Select(x => x.Item).OfType<IMediaItem>().ToArray();

            if (validItems.Length > 0 &&
                ImageServiceCombo.SelectedIndex > -1)
            {
                var serviceName = this.ServiceName;
                if (MessageBox.Show(string.Format(Properties.Resources.PostPictureConfirm1, serviceName, validItems.Length),
                                   Properties.Resources.PostPictureConfirm2,
                                   MessageBoxButtons.OKCancel,
                                   MessageBoxIcon.Question,
                                   MessageBoxDefaultButton.Button1)
                               == DialogResult.OK)
                {
                    //収集した MediaItem が破棄されないように、予め null を代入しておく
                    foreach (SelectedMedia media in ImagePageCombo.Items)
                    {
                        if (media != null) media.Item = null;
                    }

                    imageService = serviceName;
                    mediaItems = validItems;
                    EndSelection();
                    SetImagePageCombo();
                    return true;
                }
            }
            else
            {
                MessageBox.Show(Properties.Resources.PostPictureWarn1, Properties.Resources.PostPictureWarn2);
            }

            EndSelection();
            imageService = null;
            mediaItems = null;
            return false;
        }