タグ

ブックマーク / atmarkit.itmedia.co.jp (8)

  • 第13章 処理を委譲するデリゲート

    このソース・コードのポイントは、20行目に記述したsampleというデリゲート呼び出しによって、実際には8~10行目のmethodというメソッドが呼び出されているということである。つまり、sampleが代表者で、実際の処理をmethodメソッドに委譲しているということである。 では、具体的なコーディングについて説明しよう。まず、5行目のdelegateキーワードが目に付くと思う。delegateキーワードから書き始めた宣言は、デリゲートのデータ型を規定する。この後述べるように、デリゲートはさまざまなメソッドを呼び出すために使用できるが、あくまで同じ戻り値、同じ引数のメソッドに限られる。そこで、どのような戻り値、どのような引数のメソッドを対象とするかを、ここで明確にしておくわけである。ここでは、戻り値としてdelegateキーワードの次のintが指定されている。引数は括弧内に記述されたとおり

    第13章 処理を委譲するデリゲート
  • 【C#】 @IT:.NET TIPS Windowsフォームで別スレッドからコントロールを操作するには? - C# VB.NET VS.NET

    連載目次 Windowsフォームでスレッドを作成した場合、フォームやフォーム上のコントロールに対しては、そのスレッドからの操作(フォームやコントロールが持つメソッドの呼び出しやプロパティの読み書き)は動作が保証されない。稿ではそのような処理を<安全>に行うためのプログラミングについて解説する。 フォーカスの移動を行うサンプル・プログラム 例えば、Visual Studio .NET(以降、VS.NET)でWindowsアプリケーションのプロジェクトを新規作成し、次の画面のように、2つのテキストボックス(TextBox1とTextBox2)と1つのボタン(Button1)を配置したとする。

    【C#】 @IT:.NET TIPS Windowsフォームで別スレッドからコントロールを操作するには? - C# VB.NET VS.NET
  • 文字列で指定したクラスのインスタンスを作成するには? ― @IT

    連載目次 通常、クラスのインスタンスはnewキーワード(VB.NETの場合はNewキーワード)により作成するが、リフレクションの機能により、文字列で指定されたクラス名からインスタンスを作成することもできる。 稿では、インスタンス化したいクラスを含んだアセンブリがすでにロードされている場合と、そのアセンブリがまだロードされていない場合の2つのケースについて、クラス名からインスタンスを作成する方法について解説する。 すでにアセンブリがロードされている場合 インスタンス化したいクラスを含んだアセンブリがすでにディスクからロードされている場合には、まずTypeクラス(System名前空間)のGetTypeメソッドにより、そのクラスのTypeオブジェクトを得る。GetTypeメソッドでは、パラメータとしてクラス名を文字列で指定できる。 Type t = Type.GetType("インスタンス化し

  • 第21章 ポインタを使用できる「安全でないコード」

    21-9 「安全でないコード」が当にほしくなる事例 以下は、「安全でないコード」が当にほしくなる事例として作成したものである。24ビットのBMPファイルを読み込んで、ネガ反転処理を行うものである。まず、.NET Frameworkのクラス・ライブラリを活用した正統派のソースList 21-9を見ていただこう。 1: using System; 2: using System.IO; 3: using System.Drawing; 4: 5: namespace Sample009 6: { 7:   using System.IO; 8:   using System.Drawing; 9:   class Class1 10:   { 11:     private static void NegativeBMP( string inputFileName, string outp

    第21章 ポインタを使用できる「安全でないコード」
  • DirectXマスターを目指すあなたが持つべき視点 ― @IT

    連載 .NETWindows Vistaへ広がるDirectXの世界 第2回 DirectXマスターを目指すあなたが持つべき視点 ――ソフトウェア開発の視点から見たDirectXの世界―― NyaRuRu Microsoft MVP Windows - DirectX(Jan 2004 - Dec 2006) 2006/07/22 DirectXに限らず、さまざまなライブラリ/フレームワークを習得するうえで、構成要素の変化速度を見極められているかどうかが心理的にも習得効率的にも大きな違いを生むように思う。 例えば言語仕様やコーディング規約は長期間安定であり、一度習得するとその知識を継続的に役立てることができるだろう。また、CPUやメモリの動作原理、RFCなどのネットワーク・プロトコルも比較的安定な部類に入ると考えられる。しかし、頻繁に変化が起き、数年後には変更されてしまうような仕組みが混

  • .NET開発者のためのDirectX連携手法 - @IT

    2006年8月14日~15日にシアトルで開催されたGamefest 2006にて「XNA Game Studio」が発表され、同月30日に「XNA Game Studio Expressベータ版」のダウンロードが開始された。 ちょうどこのころ日国内のゲーム開発者向けイベントであるCEDEC 2006も開催されていたのだが、3日目に当たる9月1日のマイクロソフトによる基調講演では、さっそくXNAについて大きく取り上げられたことから、ニュース・サイトなどでXNAについてすでに目にされた方も多いのではなかろうか。 今後の連載では.NETからのDirectX開発(具体的にはXNAを用いたDirectX開発)というテーマを取り扱っていくが、まず今回はこのXNAとはどのようなものかについて紹介し、.NETにおけるそのほかのグラフィックス・テクノロジと比較して、その使い分けの指針を提示する。 1.

  • @IT:連載:.NETマルチスレッド・プログラミング入門 第1回 マルチスレッドはこんなときに使う

    難解なマルチスレッド・プログラミングを基礎から解説。まずはその動作原理を理解し、活用すべき場面を見極める。 連載目次 シングルスレッドとマルチスレッド コンピュータのプログラムは、基的に1行ずつコードが実行されながら動作する。通常、分岐やループがあっても、プログラム全体は1つの流れになっている。このような一連のプログラムの流れを「スレッド」(Thread:「糸」などの意味)と呼び、1つのスレッドだけからなるプログラムを「シングルスレッドなプログラム」という。たいていのプログラミングでは1つの処理の流れを記述するが、このようなプログラムはシングルスレッドなプログラムに該当する。 一方、プログラムによっては、処理効率を上げるなどの目的で、複数の処理を並行して行うことができる。つまり、1つのプログラムで複数のスレッドを同時に実行することができるのである。このようなプログラムを「マルチスレッド・

    @IT:連載:.NETマルチスレッド・プログラミング入門 第1回 マルチスレッドはこんなときに使う
  • シリアル接続による開発ボードの動作確認(1/3) ― @IT

    世界各国でAI関連規制の整備が進む中で、AIシステムの開発に求められるのが「検証(Verification)」と「妥当性確認(Validation)」から成る「V&Vプロセス」である。特に、自動車や航空宇宙の分野を中心に高い安全性や高い信頼性が重視されるセーフティクリティカルなシステムにAIを導入する際に重要な役割を果たすとみられている。

  • 1