{"title":" C# \u306e\u62e1\u5f35\u30e1\u30bd\u30c3\u30c9\u3063\u3066\u3069\u3046\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u308b\u306e\u3001\u3063\u3068","description":"// ExtensionMethodTest.cs using System; namespace MyExtensions { // from chapter 13, \"Programming C#\" public static class ExtensionMethods { public static string Right(this string s, int n) { if (n < 0 || n > s.Length) { return s; } else { return s.Substring(s.Length - n); } } } } namespace MyApp { \u2026","url":"https://gfx.hatenadiary.org/entry/20120906/1346890049","provider_name":"Hatena Blog","published":"2012-09-06 09:07:29","type":"rich","width":"100%","version":"1.0","height":"190","author_url":"https://blog.hatena.ne.jp/gfx/","author_name":"gfx","blog_title":"Islands in the byte stream (legacy)","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgfx.hatenadiary.org%2Fentry%2F20120906%2F1346890049\" title=\" C# \u306e\u62e1\u5f35\u30e1\u30bd\u30c3\u30c9\u3063\u3066\u3069\u3046\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u308b\u306e\u3001\u3063\u3068 - Islands in the byte stream (legacy)\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":null,"blog_url":"https://gfx.hatenadiary.org/","provider_url":"https://hatena.blog","categories":[]}