• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# PostClass类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中PostClass的典型用法代码示例。如果您正苦于以下问题:C# PostClass类的具体用法?C# PostClass怎么用?C# PostClass使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PostClass类属于命名空间,在下文中一共展示了PostClass类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: GetThumbnailInfoAsync

        public override async Task<ThumbnailInfo> GetThumbnailInfoAsync(string url, PostClass post, CancellationToken token)
        {
            // ツイートに位置情報が付与されている場合は何もしない
            if (post.PostGeo != null)
                return null;

            var location = await this.FetchCheckinLocation(url, token)
                .ConfigureAwait(false);

            if (location == null)
            {
                location = await this.FetchCheckinLocationLegacy(url, token)
                    .ConfigureAwait(false);
            }

            if (location != null)
            {
                var map = MapThumb.GetDefaultInstance();

                return await map.GetThumbnailInfoAsync(new PostClass.StatusGeo(location.Longitude, location.Latitude))
                    .ConfigureAwait(false);
            }

            return null;
        }
开发者ID:nezuku,项目名称:OpenTween,代码行数:25,代码来源:FoursquareCheckin.cs


示例2: EmptyRuleTest

        public void EmptyRuleTest()
        {
            var filter = new PostFilterRule { };
            var post = new PostClass { ScreenName = "hogehoge" };

            Assert.Equal(MyCommon.HITRESULT.None, filter.ExecFilter(post));
        }
开发者ID:upsilon,项目名称:OpenTween,代码行数:7,代码来源:PostFilterRuleTest.cs


示例3: GetThumbnailInfoAsync

        public override async Task<ThumbnailInfo> GetThumbnailInfoAsync(string url, PostClass post, CancellationToken token)
        {
            var match = Tinami.UrlPatternRegex.Match(url);
            if (!match.Success)
                return null;

            var contentId = match.Groups["ContentId"].Value;

            try
            {
                var xdoc = await this.FetchContentInfoApiAsync(contentId, token)
                    .ConfigureAwait(false);

                if (xdoc.XPathSelectElement("/rsp").Attribute("stat").Value != "ok")
                    return null;

                var thumbUrlElm = xdoc.XPathSelectElement("/rsp/content/thumbnails/thumbnail_150x150");
                if (thumbUrlElm == null)
                    return null;

                var descElm = xdoc.XPathSelectElement("/rsp/content/description");

                return new ThumbnailInfo
                {
                    MediaPageUrl = url,
                    ThumbnailImageUrl = thumbUrlElm.Attribute("url").Value,
                    TooltipText = descElm == null ? null : descElm.Value,
                };
            }
            catch (HttpRequestException) { }

            return null;
        }
开发者ID:upsilon,项目名称:OpenTween,代码行数:33,代码来源:Tinami.cs


示例4: GetThumbnailInfoAsync

        public override async Task<ThumbnailInfo> GetThumbnailInfoAsync(string url, PostClass post, CancellationToken token)
        {
            var match = Tumblr.UrlPatternRegex.Match(url);
            if (!match.Success)
                return null;

            // 参照: http://www.tumblr.com/docs/en/api/v2#photo-posts

            var host = match.Groups["host"].Value;
            var postId = match.Groups["postId"].Value;

            var param = new Dictionary<string, string>
            {
                ["api_key"] = ApplicationSettings.TumblrConsumerKey,
                ["id"] = match.Groups["postId"].Value,
            };

            try
            {
                var apiUrl = string.Format("https://api.tumblr.com/v2/blog/{0}/posts?", host) + MyCommon.BuildQueryString(param);
                using (var response = await this.http.GetAsync(apiUrl, token).ConfigureAwait(false))
                {
                    var jsonBytes = await response.Content.ReadAsByteArrayAsync()
                        .ConfigureAwait(false);

                    var thumbs = ParsePhotoPostJson(jsonBytes);

                    return thumbs.FirstOrDefault();
                }
            }
            catch (HttpRequestException) { } // たまに api.tumblr.com が名前解決できない

            return null;
        }
开发者ID:nezuku,项目名称:OpenTween,代码行数:34,代码来源:Tumblr.cs


示例5: EnqueueRemovePost_SetIsDeletedTest

        public void EnqueueRemovePost_SetIsDeletedTest()
        {
            var tab = new PublicSearchTabModel("search")
            {
                UnreadManage = true,
            };

            var post = new PostClass { StatusId = 100L, IsRead = false };
            tab.AddPostQueue(post);
            tab.AddSubmit();

            Assert.Equal(1, tab.AllCount);
            Assert.Equal(1, tab.UnreadCount);

            tab.EnqueueRemovePost(100L, setIsDeleted: true);

            // この時点ではタブからの削除は行われないが、PostClass.IsDeleted は true にセットされる
            Assert.Equal(1, tab.AllCount);
            Assert.Equal(1, tab.UnreadCount);
            Assert.True(post.IsDeleted);

            var removedIds = tab.RemoveSubmit();

            Assert.Equal(0, tab.AllCount);
            Assert.Equal(0, tab.UnreadCount);
            Assert.Equal(new[] { 100L }, removedIds.AsEnumerable());
        }
开发者ID:opentween,项目名称:OpenTween,代码行数:27,代码来源:TabModelTest.cs


示例6: GetThumbnailInfoAsync

        public override async Task<ThumbnailInfo> GetThumbnailInfoAsync(string url, PostClass post, CancellationToken token)
        {
            // 前処理で動画用URLが準備されていればそれを使う
            var mediaInfo = post.Media.FirstOrDefault(x => x.Url == url);
            if (mediaInfo.VideoUrl != null)
            {
                return new ThumbnailInfo
                {
                    ImageUrl = mediaInfo.VideoUrl,
                    ThumbnailUrl = url,
                    IsPlayable = true,
                };
            }

            // amp.twimg.com のメタデータからサムネイル用URLを取得する
            var thumbInfo = await base.GetThumbnailInfoAsync(url, post, token)
                .ConfigureAwait(false);

            if (thumbInfo != null)
            {
                thumbInfo.IsPlayable = true;
                return thumbInfo;
            }

            return null;
        }
开发者ID:urusupa,项目名称:OpenTween,代码行数:26,代码来源:TwitterComVideo.cs


示例7: GetThumbnailInfo

        public override ThumbnailInfo GetThumbnailInfo(string url, PostClass post)
        {
            var apiUrl = base.ReplaceUrl(url);
            if (apiUrl == null) return null;

            var xdoc = this.FetchContentInfoApi(apiUrl);

            if (xdoc.XPathSelectElement("/rsp").Attribute("stat").Value == "ok")
            {
                var thumbUrlElm = xdoc.XPathSelectElement("/rsp/content/thumbnails/thumbnail_150x150");
                if (thumbUrlElm != null)
                {
                    var descElm = xdoc.XPathSelectElement("/rsp/content/description");

                    return new ThumbnailInfo()
                    {
                        ImageUrl = url,
                        ThumbnailUrl = thumbUrlElm.Attribute("url").Value,
                        TooltipText = descElm == null ? null : descElm.Value,
                    };
                }
            }

            return null;
        }
开发者ID:rhenium,项目名称:OpenTween,代码行数:25,代码来源:Tinami.cs


示例8: GetThumbnails

        public static List<ThumbnailInfo> GetThumbnails(PostClass post)
        {
            var thumbnails = new List<ThumbnailInfo>();

            if (post.Media != null)
            {
                foreach (var media in post.Media)
                {
                    var thumbInfo = ThumbnailGenerator.GetThumbnailInfo(media.Value, post);
                    if (thumbInfo != null)
                    {
                        thumbnails.Add(thumbInfo);
                    }
                }
            }

            if (post.PostGeo != null && !(post.PostGeo.Lat == 0 && post.PostGeo.Lng == 0))
            {
                var map = MapThumb.GetDefaultInstance();
                thumbnails.Add(new ThumbnailInfo()
                {
                    ImageUrl = map.CreateMapLinkUrl(post.PostGeo.Lat, post.PostGeo.Lng),
                    ThumbnailUrl = map.CreateStaticMapUrl(post.PostGeo.Lat, post.PostGeo.Lng),
                    TooltipText = null,
                });
            }

            return thumbnails;
        }
开发者ID:sgfc,项目名称:OpenTween,代码行数:29,代码来源:ThumbnailGenerator.cs


示例9: CloneTest

        public void CloneTest()
        {
            var post = new PostClass();
            var clonePost = post.Clone();

            TestUtils.CheckDeepCloning(post, clonePost);
        }
开发者ID:upsilon,项目名称:OpenTween,代码行数:7,代码来源:PostClassTest.cs


示例10: GetThumbnailInfo

        public override ThumbnailInfo GetThumbnailInfo(string url, PostClass post)
        {
            var apiUrl = base.ReplaceUrl(url);
            if (apiUrl == null) return null;

            using (var client = new OTWebClient())
            using (var jsonReader = JsonReaderWriterFactory.CreateJsonReader(client.DownloadData(apiUrl), XmlDictionaryReaderQuotas.Max))
            {
                var xElm = XElement.Load(jsonReader);

                var thumbUrlElm = xElm.XPathSelectElement("/response/post/thumb_url");
                if (thumbUrlElm == null)
                {
                    return null;
                }

                var textElm = xElm.XPathSelectElement("/response/post/text");

                return new ThumbnailInfo()
                {
                    ImageUrl = url,
                    ThumbnailUrl = thumbUrlElm.Value,
                    TooltipText = textElm == null ? null : textElm.Value,
                };
            }
        }
开发者ID:rhenium,项目名称:OpenTween,代码行数:26,代码来源:ViaMe.cs


示例11: GetThumbnailInfo

        public override ThumbnailInfo GetThumbnailInfo(string url, PostClass post)
        {
            var apiUrl = base.ReplaceUrl(url);
            if (apiUrl == null) return null;

            var xdoc = XDocument.Load(apiUrl);

            var thumbUrlElm = xdoc.XPathSelectElement("/oembed/thumbnail_url");
            if (thumbUrlElm != null)
            {
                var titleElm = xdoc.XPathSelectElement("/oembed/title");
                var durationElm = xdoc.XPathSelectElement("/oembed/duration");

                var tooltipText = "";
                if (titleElm != null && durationElm != null)
                {
                    var duration = int.Parse(durationElm.Value);
                    var minute = duration / 60;
                    var second = duration % 60;
                    tooltipText = string.Format("{0} ({1:00}:{2:00})", titleElm.Value, minute, second);
                }

                return new ThumbnailInfo()
                {
                    ImageUrl = url,
                    ThumbnailUrl = thumbUrlElm.Value,
                    TooltipText = tooltipText,
                };
            }

            return null;
        }
开发者ID:rhenium,项目名称:OpenTween,代码行数:32,代码来源:Vimeo.cs


示例12: AddPostQueue

        public override void AddPostQueue(PostClass post)
        {
            if (TabInformations.GetInstance().IsMuted(post, isHomeTimeline: false))
                return;

            this.internalPosts.TryAdd(post.StatusId, post);

            base.AddPostQueue(post);
        }
开发者ID:opentween,项目名称:OpenTween,代码行数:9,代码来源:InternalStorageTabModel.cs


示例13: GetThumbnailInfoAsync

        public override async Task<ThumbnailInfo> GetThumbnailInfoAsync(string url, PostClass post, CancellationToken token)
        {
            // ツイートに位置情報が付与されている場合は何もしない
            if (post.PostGeo.Lat != 0 || post.PostGeo.Lng != 0)
                return null;

            var match = UrlPatternRegex.Match(url);

            if (!match.Success)
                return null;

            var checkinIdGroup = match.Groups["checkin_id"];
            var signatureGroup = match.Groups["signature"];

            try
            {
                // Foursquare のベニュー情報を取得
                // 参照: https://developer.foursquare.com/docs/venues/venues

                var query = new Dictionary<string, string>
                {
                    {"client_id", ApplicationSettings.FoursquareClientId},
                    {"client_secret", ApplicationSettings.FoursquareClientSecret},
                    {"v", "20140419"}, // https://developer.foursquare.com/overview/versioning
                };

                if (signatureGroup.Success)
                    query["signature"] = signatureGroup.Value;

                var apiUrl = new Uri(ApiBase + "/checkins/" + checkinIdGroup.Value + "?" + MyCommon.BuildQueryString(query));

                using (var response = await this.http.GetAsync(apiUrl, token).ConfigureAwait(false))
                {
                    response.EnsureSuccessStatusCode();

                    var jsonBytes = await response.Content.ReadAsByteArrayAsync()
                        .ConfigureAwait(false);

                    var location = ParseIntoLocation(jsonBytes);
                    if (location == null)
                        return null;

                    var map = MapThumb.GetDefaultInstance();

                    return new ThumbnailInfo
                    {
                        ImageUrl = map.CreateMapLinkUrl(location.Latitude, location.Longitude),
                        ThumbnailUrl = map.CreateStaticMapUrl(location.Latitude, location.Longitude),
                        TooltipText = null,
                    };
                }
            }
            catch (HttpRequestException) { }

            return null;
        }
开发者ID:egcube,项目名称:OpenTween,代码行数:56,代码来源:FoursquareCheckin.cs


示例14: AddFiltered

        //フィルタに合致したら追加
        public MyCommon.HITRESULT AddFiltered(PostClass post, bool immediately = false)
        {
            if (this.IsInnerStorageTabType)
                return MyCommon.HITRESULT.None;

            var rslt = MyCommon.HITRESULT.None;

            //全フィルタ評価(優先順位あり)
            lock (this.lockObjFilters)
            {
                foreach (var ft in _filters)
                {
                    try
                    {
                        switch (ft.ExecFilter(post))   //フィルタクラスでヒット判定
                        {
                            case MyCommon.HITRESULT.None:
                                break;
                            case MyCommon.HITRESULT.Copy:
                                if (rslt != MyCommon.HITRESULT.CopyAndMark) rslt = MyCommon.HITRESULT.Copy;
                                break;
                            case MyCommon.HITRESULT.CopyAndMark:
                                rslt = MyCommon.HITRESULT.CopyAndMark;
                                break;
                            case MyCommon.HITRESULT.Move:
                                rslt = MyCommon.HITRESULT.Move;
                                break;
                            case MyCommon.HITRESULT.Exclude:
                                rslt = MyCommon.HITRESULT.Exclude;
                                goto exit_for;
                        }
                    }
                    catch (NullReferenceException)
                    {
                        // ExecFilterでNullRef出る場合あり。暫定対応
                        MyCommon.TraceOut("ExecFilterでNullRef: " + ft);
                        rslt = MyCommon.HITRESULT.None;
                    }
                }
                exit_for:
                ;
            }

            if (this.TabType != MyCommon.TabUsageType.Mute &&
                rslt != MyCommon.HITRESULT.None && rslt != MyCommon.HITRESULT.Exclude)
            {
                if (immediately)
                    this.AddPostImmediately(post.StatusId, post.IsRead);
                else
                    this.AddPostQueue(post);
            }

            return rslt; //マーク付けは呼び出し元で行うこと
        }
开发者ID:opentween,项目名称:OpenTween,代码行数:55,代码来源:FilterTabModel.cs


示例15: GetThumbnailInfoAsync

        public override Task<ThumbnailInfo> GetThumbnailInfoAsync(PostClass.StatusGeo geo)
        {
            var thumb = new ThumbnailInfo
            {
                MediaPageUrl = this.CreateMapLinkUrl(geo.Latitude, geo.Longitude),
                ThumbnailImageUrl = this.CreateStaticMapUrl(geo.Latitude, geo.Longitude),
                TooltipText = null,
            };

            return Task.FromResult(thumb);
        }
开发者ID:upsilon,项目名称:OpenTween,代码行数:11,代码来源:MapThumbGoogle.cs


示例16: GetThumbnailInfoAsync

        public override Task<ThumbnailInfo> GetThumbnailInfoAsync(PostClass.StatusGeo geo)
        {
            var size = new Size(SettingCommon.Instance.MapThumbnailWidth, SettingCommon.Instance.MapThumbnailHeight);
            var zoom = SettingCommon.Instance.MapThumbnailZoom;

            var thumb = new OSMThumbnailInfo(geo.Latitude, geo.Longitude, zoom, size)
            {
                MediaPageUrl = this.CreateMapLinkUrl(geo.Latitude, geo.Longitude),
            };

            return Task.FromResult((ThumbnailInfo)thumb);
        }
开发者ID:upsilon,项目名称:OpenTween,代码行数:12,代码来源:MapThumbOSM.cs


示例17: GetThumbnailInfo

        public override ThumbnailInfo GetThumbnailInfo(string url, PostClass post)
        {
            var thumbnailUrl = this.ReplaceUrl(url);
            if (thumbnailUrl == null) return null;

            return new ThumbnailInfo()
            {
                ImageUrl = url,
                ThumbnailUrl = thumbnailUrl,
                TooltipText = null,
            };
        }
开发者ID:sgfc,项目名称:OpenTween,代码行数:12,代码来源:SimpleThumbnailService.cs


示例18: GetThumbnailInfo

        public override ThumbnailInfo GetThumbnailInfo(string url, PostClass post)
        {
            var thumb = base.GetThumbnailInfo(url, post);
            if (thumb == null) return null;

            return new Pixiv.Thumbnail
            {
                ImageUrl = thumb.ImageUrl,
                ThumbnailUrl = thumb.ThumbnailUrl,
                TooltipText = thumb.TooltipText,
                FullSizeImageUrl = thumb.FullSizeImageUrl,
            };
        }
开发者ID:hinaloe,项目名称:HnleTwin,代码行数:13,代码来源:Pixiv.cs


示例19: GetThumbnailInfo

        public static ThumbnailInfo GetThumbnailInfo(string url, PostClass post)
        {
            foreach (var generator in ThumbnailGenerator.Services)
            {
                var result = generator.GetThumbnailInfo(url, post);
                if (result != null)
                {
                    return result;
                }
            }

            return null;
        }
开发者ID:sgfc,项目名称:OpenTween,代码行数:13,代码来源:ThumbnailGenerator.cs


示例20: GetThumbnailInfo

        public override ThumbnailInfo GetThumbnailInfo(string url, PostClass post)
        {
            var match = this.regex.Match(url);

            if (!match.Success) return null;

            return new ThumbnailInfo()
            {
                ImageUrl = url,
                ThumbnailUrl = "http://images.bcphotoshare.com/storages/" + RadixConvert.ToInt32(match.Result("${1}"), 36) + "/thumb180.jpg",
                TooltipText = null,
            };
        }
开发者ID:ims-kuzu,项目名称:OpenTween,代码行数:13,代码来源:PhotoShareShortlink.cs



注:本文中的PostClass类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# PostExecuteWorkItemCallback类代码示例发布时间:2022-05-24
下一篇:
C# Post类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap