全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

C#

【ソフトウェア紹介】LINQPad.net

ちょっとしたLINQクエリの動作確認をしたい場合に利用できる環境にLINQPad.netがあります。

「LINQPad」は、こちら(LINQPad.net)からダウンロードできます。

C#やVB.NETでの記述方法も確認できますし、サンプルも多いので記述方法の確認にも使えます。
続きを読む

【C#】デザインパターンのObserverパターンをイベントを使って実装する

以下の記事で、C#でデザインパターンのObserverパターンを利用する方法を紹介しました。
 「【C#】デザインパターンのObserverパターンを利用する」で

今回は、イベントと利用してObserverパターンを実装する方法について説明します。
※MSDNにイベントを利用したObserverパターンの実装方法の説明があります。
 詳細は、後述する参考サイトをご覧下さい。


この場合、以下のクラス構成となります。
 ・Subject
 ・ConcreteSubject
 ・ConcreteObserver

この方法のポイントは、以下の通りです。
 ・SubjectがEventArgsを継承したクラスとなります。
 ・Observer用のクラス(または、インターフェース)が不要です。
 ・ConcreteObserverは、通常のクラスとして定義します。
  →Subject用クラスのインスタンスを生成し、イベントを実行するだけとなります。
 ・ConcreateSubjectは、通常のクラスとして定義します。
  →Subject用のクラスをイベント引数としたイベントを定義します。
 ・Observerのアタッチとデタッチをイベントの追加/削除で行います。

以下、サンプル。
続きを読む

【C#】デザインパターンのObserverパターンを利用する

C#でデザインパターンのObserverパターンを利用する方法について説明します。
Observerパターンは、一度に複数のクラスに対して処理要求を行いたい場合に利用します。
大抵の場合、処理要求は何らかのオブジェクトの状態が変化した場合に発生します。
そのため、Observerパターンでは、オブジェクトの状態変化を他のオブジェクトに通知する仕組みを提供します。

C#には、以下のObserverパターンの実装方法があります。
 1.Java同様、パターン通りに以下のクラスを使って実装する。
  ・Observer(観測者としてSubjectにイベントを通知する)
  ・Subject(全観測者に対して通知を行う)
  ・ConcreteObserver(Observerを継承して作成するクラス)
  ・ConcreteSubject(Subjectを継承して作成するクラス)
 2.イベントとデリゲートを利用して実装する。

今回は、1の実装方法について説明します。

1の場合、以下のポイントがあります。
 ・ObserverとSubjectは、インターフェースとしても実装できます。
  →クラスで実装しても構いません。
 ・SubjectがObserverからの通知を受け、全てのObserverに対して処理要求を行います。
  (正確には、ConcreateSubjectがこの役目を負います)
 ・ConcreteObserverは、観測者の実体となるクラスです。
  →値の変化をSubjectに通知したり、Subjectを通じて他のObserverからの処理要求を受け取ります。

以下、サンプル。
続きを読む

【C#】デザインパターンのSingletonを利用する

デザインパターンのSingletonパターンをC#で実装する方法について説明します。
Singletonパターンとは、複数のインスタンスを生成する必要のないクラスに対し、単一のインスタンスのみ生成可能にすることです。

Singletonパターンを適用するクラスを作る場合のポイントは、以下の通りです。
 ・コンストラクタは、privateで宣言する。
 ・静的変数として、インスタンスを格納しておくための変数を用意する。
 ・静的メソッドとして、インスタンスを取得するメソッドを用意する。
  →このメソッドを利用してクラスへのアクセスを行う。

以下、サンプル。
続きを読む

【C#】オブジェクトのデータ型をチェックする

記事「【VB.NET】オブジェクトのデータ型をチェックする」をC#で実現する方法について説明します。
C#では、VB.NETと異なり、TypeOfが不要です。
そのため、以下の構文となります。

《構文》
if(変数名 Is データ型){
'データ型が一致する場合
}else{
'データ型が一致しない場合
}

以下、サンプル。
続きを読む

【C#】整数演算のオーバーフロー(桁あふれ)を確認する(checkedステートメント)

C#には、整数演算でオーバーフロー(桁あふれ)が発生したかどうかを確認するためにcheckedステートメントが用意されています。
(VB.NETには、checkedステートメントはありません)
このステートメントを利用すれば、整数の計算でオーバーフローが発生しているかどうかを簡単に確認することができます。

【構文】
cecked{
//計算処理はこのブロック内に記述する
}


以下、サンプル。
続きを読む

【C#】メッセージボックスの表示

C#でメッセージボックスを表示する方法について説明します。
.NETを利用する場合、コントロールのメソッドやプロパティへのアクセス方法は、プログラム言語に依存しません。
(原則として、C#でもVB.NETでも同じ方法でアクセスできます)
そのため、MessageBox.Show()メソッドを利用することでメッセージボックスを表示することができます。

以下、サンプル。
続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ