“.AsStream”拡張

よく見失うのでメモがてら

「System.Runtime.InteropServices.WindowsRuntime」を「using」する。

一発でわかるってのは少ないような気がするんだが、引っかかってる人が見当たらないってことは、自分の勉強不足だね orz

忘れてなければどうということはないことではあるんだけどね

//Publish/ ハッカソンに参加していました

2014/05/17-18の二日間にわたって、//Publish/ハッカソンに参加してきました。
//Publish/ハッカソンは全世界で行われており、早いところは金曜~土曜で行われていたため、日本は二番手くらいの開始で行われました。

ハッカソンでは、ExpertとしてMVP/MSPの方々がイベント補佐でアプリを製作しながらいろいろなセッションなどを行っていました。

ハッカソンは徹夜、泊まり込みで作成していいようにイベントスペースで行われていましたが、自分は夜はいったん帰宅して部屋で調べ物など行い、就寝して翌朝再度イベントに向かいました。

当初予定していた、WinストアアプリとWPアプリ間のWi-fi Direct接続するアプリというネタをいろいろ検証しながら仕込んでいたのですが、ハッカソンで相談などした結果、現状できないのではないかというところになり、ネタを変更しました。

最終的に選択した画像をゲーム風ステータス表示するというどこかでありそうなネタにしました。
Win/WPのuniversal Project Appsで作成してWP版はハッカソン中に承認が降りて掲載されています。
Win版は現在申請中です。

そしてWP版なんですが、Releaseモードでのデバッグや最終的なスクリーンショット生成時は動いていたのですが、発表時にはうまく動かないという状況になりました(汗

なんとか原因を調べて安定させたものを再申請しようとは考えております。

二日間、ハッカソンに参加された皆様、運営の関わった皆様、会場提供の会社様、ありがとうございました。
そして、お疲れ様でした。

Action<in T>のメモ

Action<in T>はdelegateで単一パラメーターの戻り値を持たないカプセルメソッド

public class Hoge : IDisposable
{
        Action<string> _hogehoge;

        public Hoge(Action<string> HOGEHOGE= null)
        {
                _hogehoge = HOGEHOGE;
        }

        void HogeHoge(string message)
        {
            if (_hogehoge != null)
            {
                _hogehoge(message);
            }
        }
}

上記のように宣言しておく

public class Main
{
        Hoge HOGE;

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            HOGE= new Hoge(async (m) => await Dispatcher.RunIdleAsync((o) => Statustext.Text = m));
        }
}

こんな感じで宣言しておけば、class HogeでHogeHogeにテキストを投げて表示Pageに表示することができます。

Dispatcher.RunIdleAsyncなので、コントロールに限らず定義可能なので使い道は多いと思う。

今回はクラス内のStatusを追いかけるのにstringを宣言してますけど、<T>なので他も可能です。

Visual Studio 2013 Update 2がリリースされた模様

RC版はすでに出ていて、開発/配布に制限はなかったですが、リリース版に更新したほうがいいでしょう。

今回の更新で「Apache Cordova」がサポートされたようです。
MicrosoftのBlogに記載があります。
Somasegar’s blog
Mobile-first, Cloud-first Development – Visual Studio 2013 Update 2 released, Visual Studio Apache Cordova Tooling preview and the future of .NET for Cloud and Server

CSS/HTML/JSで作成するアプリが「Apache Cordova」を利用することでマルチデバイス(Android、iOS)への展開が可能だそうです。

公開場所は下記のリンク先です。
Microsoft Visual Studio 2013 Update 2

ダウンロード先のファイルは差分updateファイルなので、フルインストールしたい場合はMSDNからDLですね。

Update 2はWindowsPhone8.1SDKが同梱されたり、universal Project Apps に向けた更新が行われています。

Microsoft Visual Studio Express 2013 with Update 2 for Windows
Visual Studio Express 2013のUpdate 2も配布が開始されています。
Download language に日本語もあるので、Expressで開発をという方はこちらのリンクからダウンロードしてインストールですね。

さて、何で英語ページなんだという話になると、日本のVisual Studioページが2012で止まっていて更新されていないためです。

まあ、開発者なら英語くらいというか、ニュアンスつかむくらいは可能ですしね、、、
ただ、新しい開発者への支援体制という意味では改善してほしいところですね。