<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Fx3.5 (new!)</title><link>http://blogs.wankuma.com/gshell/category/1711.aspx</link><description>Fx3.5 (new!)</description><managingEditor>ghost_shell (gshell@wankuma.com)</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>ghost_shell (gshell@wankuma.com)</dc:creator><title>やっぱり受けないといけないのね... OTL</title><link>http://blogs.wankuma.com/gshell/archive/2008/07/29/RequirementsOfVS2008MCTS.aspx</link><pubDate>Tue, 29 Jul 2008 17:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/gshell/archive/2008/07/29/RequirementsOfVS2008MCTS.aspx</guid><wfw:comment>http://blogs.wankuma.com/gshell/comments/150835.aspx</wfw:comment><comments>http://blogs.wankuma.com/gshell/archive/2008/07/29/RequirementsOfVS2008MCTS.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/gshell/comments/commentRss/150835.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/gshell/services/trackbacks/150835.aspx</trackback:ping><description>&lt;p style="line-height: 2em"&gt;待ちに待ち続けた Visual Studio 及び .Net Freamework の新資格（Visual Studio 2008 資格）がアナウンスされています。 
  &lt;br /&gt;（注 アナウンス日からしばらく経過しています。） 
  &lt;br /&gt;&lt;a title="http://www.microsoft.com/japan/learning/training/visualstudio2008/default.mspx" href="http://www.microsoft.com/japan/learning/training/visualstudio2008/default.mspx"&gt;http://www.microsoft.com/japan/learning/training/visualstudio2008/default.mspx&lt;/a&gt;&lt;/p&gt;
&lt;p style="line-height: 2em"&gt;で、Visual Studio 2008 対応のMCTS資格を取得する前提条件として 70-536 試験に合格していないといけないそうです。 
  &lt;br /&gt;&lt;a title="http://www.microsoft.com/japan/learning/mcp/mcts/visualstudio2008/default.mspx" href="http://www.microsoft.com/japan/learning/mcp/mcts/visualstudio2008/default.mspx"&gt;http://www.microsoft.com/japan/learning/mcp/mcts/visualstudio2008/default.mspx&lt;/a&gt;&lt;/p&gt;
&lt;p style="line-height: 2em"&gt;＃２年前のTech・Edで無料バウチャーを使って初めて受験したMCP試験が70-536 試験でした。 
  &lt;br /&gt;＃そして撃沈した経験があります。 
  &lt;br /&gt;＃それ以来、MCP試験がトラウマに・・・。（40％本当） 
  &lt;br /&gt;＃Visual Studio 2008 対応試験を受けるために――、 70-536 試験をパスするために――、
  &lt;br /&gt;＃復習と学習、傾向と対策を積むことから始めていかなくては、と奮い立たせています。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/gshell/aggbug/150835.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghost_shell (gshell@wankuma.com)</dc:creator><title>ＶＢがＣ＃よりも優れているな～と思う点</title><link>http://blogs.wankuma.com/gshell/archive/2008/05/21/TryToThinkSuperiorPointOfVbToCs.aspx</link><pubDate>Wed, 21 May 2008 13:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/gshell/archive/2008/05/21/TryToThinkSuperiorPointOfVbToCs.aspx</guid><wfw:comment>http://blogs.wankuma.com/gshell/comments/138746.aspx</wfw:comment><comments>http://blogs.wankuma.com/gshell/archive/2008/05/21/TryToThinkSuperiorPointOfVbToCs.aspx#Feedback</comments><slash:comments>74</slash:comments><wfw:commentRss>http://blogs.wankuma.com/gshell/comments/commentRss/138746.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/gshell/services/trackbacks/138746.aspx</trackback:ping><description>&lt;p style="line-height: 2em"&gt;&lt;A href="http://blogs.wankuma.com/rti/archive/2008/05/19/138298.aspx"&gt;C# Day&lt;/a&gt; のパネルディスカッションへのネタ提供ではないですが、.NET言語ではC#しか使えないこのghost_shellがVBの利点を１つ挙げてみました。&lt;/p&gt;
&lt;br style="line-height: 2em" /&gt;
&lt;p style="line-height: 2em; text-align: center"&gt;&lt;span style="color: #008800"&gt;&lt;span style="font-weight: bold; font-size: 2.5em"&gt;拡張プロパティ&lt;/span&gt; &amp;#8592;注意：実際にはありません&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: 2em"&gt;解説 
  &lt;br /&gt;拡張メソッドは別クラスのインスタンスメソッドのように振舞わせるスタティックメソッドのことです。 
  &lt;br /&gt;これのプロパティに当たるものを「拡張プロパティ」と表現しましたが、MSILにはないので、どの言語であっても作ることはできません。 
  &lt;br /&gt;Ｃ＃では引数なしのメソッドをプロパティの形式で呼び出すことはできませんが、ＶＢでは丸括弧（ ( ) ）無しで呼び出せるのでそう見える、というただそれだけのことです。&lt;/p&gt;
&lt;br style="line-height: 2em" /&gt;
&lt;p style="line-height: 2em"&gt;＃逆にVBだけで作る場合、プロパティ（宣言）構文と引数なしのメソッドの使い分けはしているのかな？ &lt;/p&gt;
&lt;hr /&gt;
&lt;p style="line-height: 2em"&gt;(Posted Date) 15:30 加筆修正＆文字装飾＆リンク貼付&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/gshell/aggbug/138746.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghost_shell (gshell@wankuma.com)</dc:creator><title>【落とし穴】　イテレータはラムダ式、匿名メソッド内では使えない</title><link>http://blogs.wankuma.com/gshell/archive/2008/04/04/IteratorInFunc.aspx</link><pubDate>Fri, 04 Apr 2008 18:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/gshell/archive/2008/04/04/IteratorInFunc.aspx</guid><wfw:comment>http://blogs.wankuma.com/gshell/comments/131709.aspx</wfw:comment><comments>http://blogs.wankuma.com/gshell/archive/2008/04/04/IteratorInFunc.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/gshell/comments/commentRss/131709.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/gshell/services/trackbacks/131709.aspx</trackback:ping><description>&lt;p style="line-height: 2em"&gt;下図の中にあるコードは「yield ステートメントは、匿名メソッドまたはラムダ式の内部では使用できません」というコンパイルエラーが出ます。 &lt;/p&gt;  &lt;p style="line-height: 2em"&gt;&lt;a href="http://gshell.wankuma.com/images/2008/4-6/IteratorInFunc1.png"&gt;&lt;img title="IteratorInFunc1.png (PNG Image, 852x1020 pixels) - Scaled (73%)" height="150" alt="http://gshell.wankuma.com/images/2008/4-6/IteratorInFunc1.png" src="http://capture.heartrails.com/medium?http://gshell.wankuma.com/images/2008/4-6/IteratorInFunc1.png" width="200" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p style="line-height: 2em"&gt;では、Result型のイテレータを返す関数オブジェクト（Func&amp;lt;IEnumerable&amp;lt;Result&amp;gt;&amp;gt;&lt;ienumerable&gt;&lt;tresult&gt;）は作れないのでしょうか？&lt;/p&gt;  &lt;p style="line-height: 2em"&gt;いえ、あります。    &lt;br /&gt;上の図のスタティックコンストラクタの２行目※の部分です。     &lt;br /&gt;※テキストの改行ではなくセミコロン基準です。&lt;/p&gt;  &lt;pre style="color: #eeeeee; background-color: #444444"&gt;            iterateFunc = new Func&amp;lt;IEnumerable&amp;lt;int&amp;gt;&amp;gt;(Iterate);&lt;/pre&gt;
&lt;p style="line-height: 2em"&gt;ラムダ式では式（構文）として記述できないだけで、宣言箇所と呼び出し方法の組み合わせによって動作が変わることはありません。 
  &lt;br /&gt;これはデリゲートや匿名メソッドで行った場合も当てはまります。 &lt;/p&gt;
&lt;p style="line-height: 2em"&gt;説明すればするほど、「あぁ、そんなことか。試してみるまでもないじゃん。」と思う人が増えるので、解説が不親切ですがこの辺でやめておきます。 
  &lt;br /&gt;（この記事の最後に貼ってある「この記事に関係する過去の記事」もご覧ください。）&lt;/p&gt;
&lt;p style="line-height: 2em"&gt;動作するサンプルコードと実行中の様子を以下に示します。 &lt;/p&gt;
&lt;p style="line-height: 2em"&gt;&lt;/p&gt;
&lt;pre style="color: #eeeeee; background-color: #444444"&gt;using System;
using System.Collections.Generic;
using System.Threading;
namespace IteratorInFunc
{
    static class Program
    {
        // 逐次処理をする関数オブジェクト
        private static Func&amp;lt;IEnumerable&amp;lt;int&amp;gt;&amp;gt; iterateFunc; 
        // 1 メソッドによる実装
        private static IEnumerable&amp;lt;int&amp;gt; Iterate()
        {
            for (int i = 0; i &amp;lt; 10; ++i)
            {
                Thread.Sleep(1000);
                yield return i;
            }
        }
        // スタティックコンストラクタ
        static Program()
        {
            // 2 【コンパイルエラー】ラムダ式バージョン
            //iterateFunc =
            //    () =&amp;gt;
            //    {
            //        for (int i = 0; i &amp;lt; 10; ++i)
            //        {
            //            Thread.Sleep(1000);
            //            yield return i;
            //        }
            //    };
            iterateFunc = new Func&amp;lt;IEnumerable&amp;lt;int&amp;gt;&amp;gt;(Iterate);
        }
        // メインメソッド
        static void Main(string[] args)
        {
            foreach (var result in iterateFunc())
            {
                DateTime dt = DateTime.Now;
                System.Diagnostics.Debug.WriteLine(String.Format(&amp;quot;{0} {1}&amp;quot;, result, (dt.Second * 1000 + dt.Millisecond).ToString(&amp;quot;D5&amp;quot;)));
            }
        }
    }
}&lt;/pre&gt;
&lt;p style="line-height: 2em"&gt;&lt;a href="http://gshell.wankuma.com/images/2008/4-6/IteratorInFunc2.png"&gt;&lt;img title="IteratorInFunc2.png (PNG Image, 852x1045 pixels) - Scaled (71%)" height="150" alt="http://gshell.wankuma.com/images/2008/4-6/IteratorInFunc2.png" src="http://capture.heartrails.com/medium?http://gshell.wankuma.com/images/2008/4-6/IteratorInFunc2.png" width="200" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;fieldset&gt;&lt;legend&gt;この記事に関係する過去の記事&lt;/legend&gt;
  &lt;p style="line-height: 2em"&gt;&lt;A href="http://blogs.wankuma.com/gshell/archive/2007/08/16/InvalidUsageOfYieldReturn.aspx"&gt;【落とし穴】 yield return の間違った使い方 （2007年8月16日） 
      &lt;br /&gt;http://blogs.wankuma.com/gshell/archive/2007/08/16/InvalidUsageOfYieldReturn.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/fieldset&gt; 
 &lt;hr /&gt;  &lt;p style="line-height: 2em"&gt;(Posted Date) 19:20&lt;/p&gt; &lt;img src ="http://blogs.wankuma.com/gshell/aggbug/131709.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>