.NET Clips - C#のタグがつけられたエントリー
1
CLIPS

INotifyPropertyChangedの実装を簡易化するNotifyPropertyWeaverを試してみた - かずきのBlog@Hatena

2405日前に更新 aoki1210aoki1210 2410日前に登録
2011年01月22日 GMT 2011年01月17日 GMT
INotifyPropertyChangedの実装を簡易化するNotifyPropertyWeaverを試してみた C# 先日ぼそっとTwitterに呟こうと思ったことをBlogに書いた程度のエントリーのINotifyPropertyChangedとかを簡単に実装できるようにしてほしいよねですがコメントいただきました。PostSharpとかUnity使ったAOPでの実装とかは、前にも見たことあったのですが、今回、NotifyPropertyWeaverという知らない名前のものがあったので試してみました。インストール インストールといってもソリューションフォルダに適当なフォルダを置いてNotifyPropertyWeaverMsBuildTask.dllをコピーするだけで完了。ここではLibsというフォルダを作って、その中にコピーしました。プロジェクトファイルの書き換え 使用するアセンブリ名からもわかるように、こいつはMSBuildのタスクなのでプロジェクトファイルを手動で書き換えます。MSBuildの書き換えをVisual Studio 2010上でスムーズにやるには、プロジェクトを右クリックし... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 32 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#
1
CLIPS

C#からF#のクロージャを利用するには、こんな風にしたらいんじゃないの的サンプル - Bug Catharsis

2405日前に更新 aoki1210aoki1210 2414日前に登録
2011年01月22日 GMT 2011年01月13日 GMT
荒井さん、いげ太さん共著の「実践 F# 関数型プログラミング入門 」が好評発売中です。 微力ながらレビュアーの一人としてご協力させていただきました。 基本的な文法からはじまり、関数型言語の特徴について丁寧に解説しています。 読者が新しい情報を順を追って少しずつ手に入れながら、徐々に成長していけるように配慮して構成されています。 F#に興味がある人はもちろん、はじめて関数型言語を勉強しようという方にもおすすめです! お値段以上ニトリよろしくお買い得すぎるので、.NETerは全員買ったほうがいいと思います。まじで。 C#からF#のクロージャを利用するには で、小ネタです。 (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 18 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, F#, クロージャ
1
CLIPS

OpenNIの.NET用ラッパーライブラリ「XELF.OpenNI」公開 - 迷宮調査報告書

2412日前に更新 aoki1210aoki1210 2420日前に登録
2011年01月15日 GMT 2011年01月07日 GMT
Kinectセンサーを活用するAPI/ライブラリとして、「OpenNI」(http://www.openni.org/ )があります。「XELF.OpenNI」は、OpenNIをWindowsの.NET言語環境(C#やXNAなど)から利用しやすいように、OpenNIのC言語APIを.NET用に部分的にラップしたクラスライブラリです。  .NETアプリケーションからは、アセンブリDLLとして「XELF.OpenNI.dll」を参照して利用することができます。「XELF.OpenNI.dll」の利用には、OpenNIの環境を構築する必要があります。ダウンロードXELF.OpenNI / DLL & ソースコードhttp://xelf.info/openni/XELF.OpenNI.2011-01-07.zip互換性  OpenNIの公式にも.NET Wrapperがありますが、互換性はありません。ビルド用の情報Base Framework / API OpenNI / C API... (詳細)
カテゴリー: Xbox360/XNA/Kinect | クリック数: 42 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, Kinect, XNA
1
CLIPS

InfoQ: なぜMicrosoftはVBとC#に非同期シンタックスが必要と信じるのか。

2414日前に更新 aoki1210aoki1210 2420日前に登録
2011年01月13日 GMT 2011年01月07日 GMT
この何年かの間に、マルチスレッド プログラムが段々ホットな話題になってきている。高い応答性のユーザインタフェースが何十年も必要とされてきたが、その必要性を満たすツールは、そんなに変わっていない。ユーザインタフェースの更新は、なお.NETで入手できるものを含んで、ほとんどのフレームワークでは、単一スレッドで行われている。一方、ハードウェア メーカーは、CPUのスピードを早くする代わりに、複数コアに向かっている。 C#とVBは、非同期ライブラリを使った、モニターやデリゲートのための lock/SyncLockキーワードを介した、非常に単純化した並列性のサポートから始めた。その後の数バージョンでは、この領域では意味のある進歩はなかった。注目されたのは他の領域だった。.NET 4.0では、事情は全く変わった。3つの新しいライブラリが導入された。Task Parallel Library (TPL), Parallel LINQ, そして Coordination Data Structures (CDS)である。これらのライブラリは、ラムダ、クロージャそしてLINQのようなシンタックスの強化改善をベースに作ら... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 15 | コメント | | ソースサイト: www.infoq.com
タグ: C#, Parallel
1
CLIPS

SelectManyと2次元配列の素敵な関係 再び

2412日前に更新 aoki1210aoki1210 2421日前に登録
2011年01月15日 GMT 2011年01月06日 GMT
前回の記事が不評だったので、 今度は、もうすこし真剣に考えてみる。 じゃあ、前回の記事はいい加減だったのか、と言われると、困るけど... 以下のような2次元配列があったとします。 int[,] nums = new int[,] { {13, 200,31, 43, 54 }, {110,20, 330,410,50}, {100,220,33, 40, 500} }; 通常、2次元配列の要素にアクセスするには、2重ループを書くのが普通だと思います。 foreach (var n in nums) { Console.WriteLine("{0}", n); } 上記コードでも、全要素にアクセスできますが、各要素の位置が分かりません。 そこで、LINQのSelectManyを使った、2次元配列のアクセスについて考えてみます。 例えば、上記配列の要素から、100より大きな数を取り出し、昇順に並べ替えたいとします。 ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 22 | コメント | | ソースサイト: gushwell.ldblog.jp
タグ: C#
1
CLIPS

次の.NET BCLにやっとzipを扱うクラスが入るらしい

2412日前に更新 aoki1210aoki1210 2421日前に登録
2011年01月15日 GMT 2011年01月06日 GMT
connectでフィードバックしていた件、駄目なんじゃないかと思いつつ、なんとか入ることが決まったようです。今日「次のバージョンで入れるよ」というPMのコメントと共にcloseされました。 Windowsのzipフォルダ互換のzipの作成/展開ができるクラスがほしい | Microsoft Connect IronPythonのソースにzipを圧縮展開するためのソースがついているのですが、これは罠です。日本語ファイル名を使うとExplorerから見るとばけばけになりますので、Encodingを明示的に指定する必要があります。この辺で書きました。 IronPythonのzipソースと日本語 あと、メモリ回りよくないようで、件のIronPythonのzip関係のソースを使ったツールで1GB級のファイルを圧縮させるとメモリ関係の例外が出ました。手を入れたいのですが、もうちょっとあとで。 コメントによると、BCL Team Blogでコメント受け付けているから言いたいことがあればぜひそちらでってことで... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 28 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, ZIP
1
CLIPS

コンソール アプリケーションの作り方

2420日前に更新 aoki1210aoki1210 2421日前に登録
2011年01月07日 GMT 2011年01月06日 GMT
今日も、(自分の中でだけ)最近流行りの動画ブログを投稿。 コンソールからプログラムの機能を使いたいって場合、.NET なら別にコンソール版のアプリ書く必要なかったり。 PowerShell は .NET オブジェクトをそのまま読めてしまうので、GUI の実行ファイルを LoadFile して、New-Object してしまうだけ。 ※注意: PowerShell って .NET Framework 4 で作ったアセンブリ読み込めないんですよねぇ・・・。アップデートして欲しい・・・ (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 7 | コメント | | ソースサイト: ufcpp.wordpress.com
タグ: C#
1
CLIPS

C# 4.0で実装するデザインパターン「その1 生成に関するパターン」 - かずきのBlog@Hatena

2416日前に更新 aoki1210aoki1210 2421日前に登録
2011年01月11日 GMT 2011年01月06日 GMT
気が向いたやつをやってみます。最初はGoFの全パターンをやってみようと思いましたが、あまり従来と変わらないものとかもあるので、これはちょっと実装が変わるかなと思ったものをピックアップしていくつもりです。。 ちなみに、参考にしてるのは以下のサイトです。Skeleton of GOF’s Design Patterns なるべく上記のサイトと同等のコードになるように努めています。 今回は、とりあえず生成に関するパターンを見てみようと思います。生成に関するパターンFactory Methodパターン これは、オブジェクトを作るクラスを継承関係を使って・・・とめんどくさいことをしていますが、メソッドを変数に入れて扱うというデリゲートの仕組みがあるC#では、あえて生成メソッドのためだけにクラスをこしらえる必要はないと思ったりします。 ということで、以下のような感じになりました。namespace Okazuki.GoFPatterns.FactoryMethod { using System; class... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 10 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, デザインパターン
1
CLIPS

Kinectを使ってC#で「バイバイ」を検出する - M-Tea

2420日前に更新 aoki1210aoki1210 2428日前に登録
2011年01月07日 GMT 2010年12月29日 GMT
Kinectというマイクロソフトから販売されたXbox 360向けのゲームデバイスでプレイヤーの位置、動き、声、顔を認識することができたりする。このデバイスを知って、自分は XBox 360 を持っていませが、思わず欲しくなってしまったので、購入しました。 今回は、 KinectをC#から使ってみる(先走り編) で動かしたソースについてみてみます。 インストールについては KinectをPCで使う1 を参照ください。 今回の目標 「手を振ったら」(Waveしたら)それを検出する事をしてみます。もちろん、C# .NET で行います。 結果的には、手を振ったらイベントハンドラが呼ばれるので、そこに処理を書きますが、 C#で記述できるので、比較的楽にかけます。 NITEフレームワーク Kinectのドライバ、ライブラリ、フレームワークは以下の階層になっているようです 上位 --------... (詳細)
カテゴリー: Xbox360/XNA/Kinect | クリック数: 50 | コメント | | ソースサイト: www.m-tea.info
タグ: C#, Kinect
1
CLIPS

Quill の .NET 4.0 対応がそろそろ!?

2441日前に更新 aoki1210aoki1210 2447日前に登録
2010年12月17日 GMT 2010年12月11日 GMT
間近に迫っています。これまで対応できていなかったため、 Quill、というか Seasar.NET 自体、.NET 4.0 では 利用できませんでしたが、ようやく日の目を浴びることに なりそうです。いつ!?とはなかなか言えないのですが、 まずは RC1 での公開が見込まれています。 DBFlute.NET の 4.0 動作も、それと同時に可能になる はずです。(試したわけじゃないですが...) ただし、まず最初に公開される .NET 4.0 対応は、 「Quill と S2Dao.NET」です。 「S2Container機能」は未対応となります。 !? 「S2Container機能」って何?って感じかもですね。 Seasar.NET (S2Container.NET) では、 二つのDIコンテナを用意しています。 それが、 o S2Container o Quill です。 S2Container.NET っていう言葉と S2Containe... (詳細)
カテゴリー: ツール(VisualStudio/Expression) | クリック数: 76 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: .NET4.0, C#, Quill, Seasar
1
CLIPS

sym - JPerl Advent Calendar 2010(記号プログラミング C#/PowerShell)

2441日前に更新 aoki1210aoki1210 2447日前に登録
2010年12月17日 GMT 2010年12月11日 GMT
Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな?2010-12-01(水) 記号プログラミングの第一歩は BrainF*ck2010-12-02(木) PHPでも記号プログラミング!2010-12-03(金) 記号だけのJavaScriptプログラミングの基本原理2010-12-04(土) Ruby1.8で学ぶ、簡単?!記号プログラミング2010-12-05(日) 記号だけのPerlプログラミングの基本原理2010-12-06(月) J言語で記号プログラミング2010-12-07(火) 86バイナリでも記号プログラミング!2010-12-08(水) Haskell(GHC)で記号プログラミング2010-12-09(木) サルでもわかるPython顔文字プログラミング2010-12-10(金) C#(ASP.NET 4)で記号プログラミングをやってみたい!2010-12-11(土) 記号のみで任意のPowerShellコードを実行2010-12-12(日)2010-12-13(月)2010-12-14(火)2010-12-15(水)2010-12-16(木)2010-12-1... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 6 | コメント | | ソースサイト: perl-users.jp
タグ: C#, PowerShell
1
CLIPS

C# Advent Calendar jp: 2010 : ATND

2441日前に更新 aoki1210aoki1210 2447日前に登録
2010年12月17日 GMT 2010年12月11日 GMT
クリスマスまでの日数を数えるために、1日に1つ、穴が空けられるようになっているカレンダーです。転じて、技術系コミュニティで、クリスマスまでの25日間にTipsを1つずつ公開するイベントをAdvent Calendarと呼ぶそうです。 ルール C#と.NETに関するTipsをひとつ、特定の日に、自分のブログにアップロードしてもらうだけです。 執筆順は、このイベントに参加した順です。最初の人が12月1日、2人目が12月2日…と続いていって、最後の人が12月25日です。 アップロードしたら、このイベントのコメント欄にURLを貼り付けてください。 (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 27 | コメント | | ソースサイト: atnd.org
タグ: C#
1
CLIPS

C#におけるヒープVSスタック問題、あるいはUnityにおけるスクリプト高速化

2447日前に更新 aoki1210aoki1210 2454日前に登録
2010年12月11日 GMT 2010年12月04日 GMT
個人的にC#はグルー言語であるという認識が強くて、パフォーマンスを意識したプログラミングの経験が無い。しかしUnityのスクリプトをC#で書いていると、そこを意識しなくてはならないケースに出くわすことがある。 最近あったのは、テンポラリな配列のアロケーションが大きなオーバーヘッドを生み出しているという状況だった。これは結局、配列の使用をやめてstructのメンバー変数にパックするよう変更したところ、パフォーマンスは著しく改善された。言い換えれば、テンポラリオブジェクトの所在をヒープ上からスタック上へと移すことによってオーバーヘッドが解消された、という格好だ。 問題となっていたのは、まあざっくりとこんな感じの、ゲームステートを保持するクラスだった。publicclass State { byte[] cells = newbyte[16]; public State() {} public State(State src) { src.cells.CopyTo(cells, 0); } ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 40 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, パフォーマンス
1
CLIPS

ひとつのC#ソースを使ってWP7・iPhone・Androidアプリを作る

2453日前に更新 aoki1210aoki1210 2459日前に登録
2010年12月05日 GMT 2010年11月29日 GMT
tweet search は、同じ C# のソースコードを共有するマルチプラットフォームのモバイルアプリです。 tweet search は C# で書かれた Twitter の検索アプリ。Windows Phone 7 版、iPhone 版、Android 版があります。 アプリの構造は大きく分けてロジック部分と UI 部分に分離されています。 ロジック部分には Twitter の検索処理が実装してあり、C# のソースを各アプリで共有しています。WebClient クラスで ATOM フィードを取得し、XDocument クラスを使ってパースするというシンプルなソースです。 UI 部分もすべて C# ですが、アプリごとに別々の実装となっています。WP7 を Silverlight、iPhone を MonoTouch、Android を MonoDroid で作っています。画面の実装はそれぞれのフレームワークが用意するクラスから派生しており、WP7 は PhoneApplicationPage、MonoTouch は UIViewController、MonoAndroid は Acti... (詳細)
カテゴリー: ツール(VisualStudio/Expression) | クリック数: 28 | コメント | | ソースサイト: nanapho.jp
タグ: Android, C#, iPhone, MonoDroid, MonoTouch, Windows Phone
1
CLIPS

C#開発者のための拡張メソッド入門 - @IT

2461日前に更新 aoki1210aoki1210 2470日前に登録
2010年11月27日 GMT 2010年11月17日 GMT
■11.5 拡張メソッド(C#バージョン 3.0以降)  拡張メソッドとは、既にあるクラスを継承せずにメソッドを追加するものです。派生クラスとして機能を追加するのではなく、あたかも最初からそのメソッドが存在していたかのように、元のクラスのメソッドとして呼び出すことができるのです。  この機能が強力なのは、ユーザー定義のクラスだけでなく、.NET Frameworkであらかじめ定義されているクラスに対しても機能が追加できるという点です。さらに、継承できないシールクラス(sealedアクセス修飾子が指定されたクラス)にもメソッドを定義できます。ただし、拡張メソッドはクラスの外部から機能を拡張するものなので.. (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 23 | コメント | | ソースサイト: www.atmarkit.co.jp
タグ: C#
1
CLIPS

Async CTP

2478日前に更新 aoki1210aoki1210 2484日前に登録
2010年11月10日 GMT 2010年11月04日 GMT
Asynchronous Programming for C# and Visual Basic LINQ CTPを思い出す。 それにしても、継続のない(コルーチンも末尾呼出の最適化もない)言語なのに、コンパイラがごりごり頑張ることによって力技でジェネレータ(yield return)やシーケンシャル非同期(async/await)を実現してるというあたりが、 unsophisticated peopleに媚びた設計http://java-house.jp/ml/archive/j-h-b/019802.html と言われてしまう*1ゆえんである。キーワードを増やすんではなく、いろんなことをライブラリメソッドで実現するほうが、言語としてはきれいなんだろうからね。 とはいえ、C#はむやみやたらとキーワードを増やしているわけではなく、範囲を絞って、かつユーザビリティ調査を十分行った上で導入しているので、unsophisticated peopleに媚びた設計の誹りも甘んじて受け入れる言語、というか「わざとですが何か?」みたいな感覚はあるかも。J... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 11 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#
1
CLIPS

匿名クラスを使ったリファクタリング - present

2478日前に更新 aoki1210aoki1210 2484日前に登録
2010年11月10日 GMT 2010年11月04日 GMT
匿名クラスを使ったリファクタリング .NET 最近、メソッド内のローカル変数の数が多くなると、関連性のあるものを匿名クラスを使ってまとめるようになりました。こんな風に。// WCF で使う設定を匿名クラスにまとめる var config = new { BaseAddress = "net.pipe://localhost", Address = "Greeting", Binding = new NetNamedPipeBinding(), }; var host = new ServiceHost( typeof(GreetingService), config.BaseAddress); host.AddServiceEndpoint( typeof(IGreetingService), config.Binding, config.Address); host.Open(); var client = ChannelFactory (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 13 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, リファクタリング
1
CLIPS

Async C#/VB

2483日前に更新 aoki1210aoki1210 2490日前に登録
2010年11月05日 GMT 2010年10月29日 GMT
ようやく、C#/VB にも非同期構文が入るようです。 http://msdn.microsoft.com/vstudio/asyncC#/VB に非同期用の構文が入ります async キーワードで非同期呼び出し開始、await キーワードで計算結果を拾えるっぽい 基本的には Task クラスに対する構文糖衣になる模様 あと、VB にイテレーター ブロックが追加 しかも、VB は匿名メソッド中でも Yield 書ける バージョンや時期に関しては一切触れられておらず これだけが C# 5.0 でもないって... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 19 | コメント | | ソースサイト: ufcpp.wordpress.com
タグ: Ansync, C#, VB
1
CLIPS

C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」:CodeZine

2490日前に更新 aoki1210aoki1210 2494日前に登録
2010年10月29日 GMT 2010年10月25日 GMT
プロローグC#たん: それでは、これから『ソフトウェア開発講座』を始めたいと思います!C++たん: えっ、急に何!?ええ、ソフトウェア開発講座を始めます。…… まあ、いいけど。 で、私も何かやった方がいいの?そうですね、いろいろとご意見や解説などお願いします。はいはい。 で、どういう趣旨の講座なのかしら?近年のソフトウェア開発は、要求の範囲も質も非常に高い水準が求められていますね。 これから学び始める方々は、ベテランが何年もかけて築きあげてきた道を一足とびに学ぶ必要があります。そうよねぇ、思い返せば長い道のりを来たものだわ。 どうすればいいのかしらね。同じ苦労を1からやってもらう時間はないし。その長い道のりで培われた経験は、開発ツールやフレームワークの進化という形で残... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 19 | コメント | | ソースサイト: codezine.jp
タグ: C#
1
CLIPS

.NET クラスライブラリ探訪-038 (System.Tuple)(タプル, 組オブジェクト, 4.0から追加されたクラス)

2492日前に更新 aoki1210aoki1210 2500日前に登録
2010年10月27日 GMT 2010年10月19日 GMT
System.Tupleクラスは、.NET 4.0から追加されたクラスです。 このクラスは「組」を表します。 よく日常会話でも言う 2つで一組とか3つで一組 の感じです。 Pythonやっている人にはおなじみですね。 .NETのタプルは、ジェネリック対応してますので型がきっちり決まります。 実際には、以下のように定義されています。 Tuple (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 15 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#