アセンブリ
.NET Framework アプリケーションの主要なビルド ブロックです。
アセンブリは機能の集合体であり、1 つ以上のファイルで構成される単一の実装ユニットとしてビルド、バージョン管理、および配置されます。各アセンブリにはアセンブリ マニフェストが含まれます。
★Visual Studioのプロジェクト単位に生成される実行モジュール(EXEファイル)やライブラリ(DLLファイル)のことをアセンブリと呼びます。
タイプ ライブラリとアセンブリ マニフェスト
タイプ ライブラリは、メンバの名前やデータ型など、COM オブジェクトの特性を記述します。
アセンブリ マニフェストは、.NET Framework アプリケーションについて同様の機能を果たします。
アセンブリ マニフェストには次の情報が含まれます。
アセンブリの ID、バージョン、カルチャ、およびデジタル署名
2010年1月9日土曜日
マーシャリング(marshaling)とは
.NET Frameworkとネイティブ環境間で、実行コード呼び出しやデータ交換ができるように調停する処理のこと。
.NET Framework用に開発されたコードを「マネージ コード」と呼び、
.NET Frameworkアプリケーションによって使用されるデータを「マネージ データ」と呼ぶ。
C/C++などのネイティブ コードを「アンマネージドコード(unmanaged code)」と呼ぶ。
.NET Framework用に開発されたコードを「マネージ コード」と呼び、
.NET Frameworkアプリケーションによって使用されるデータを「マネージ データ」と呼ぶ。
C/C++などのネイティブ コードを「アンマネージドコード(unmanaged code)」と呼ぶ。
DomainUpDownコントロールに列挙体(enum)項目をセット
■Itemの追加
this.domainUpDown1.Items.Add(ImageSizes.最大サイズ);
■選択状態の判定
SelectedItem と列挙体の項目を数値にキャスト
if ((int)domainUpDown1.SelectedItem == (int)ImageSizes.最大サイズ)
<該当処理>
プログラムの見通しがよくなると思う
this.domainUpDown1.Items.Add(ImageSizes.最大サイズ);
■選択状態の判定
SelectedItem と列挙体の項目を数値にキャスト
if ((int)domainUpDown1.SelectedItem == (int)ImageSizes.最大サイズ)
<該当処理>
プログラムの見通しがよくなると思う
列挙体(enum)の日本語化
列挙体(enum)に日本語名が使える!
C#
private enum ImageSizes
{
標準サイズ,
中間サイズ,
最大サイズ,
};
VB
Private Enum ImageSizes
標準サイズ,
中間サイズ,
最大サイズ,
End Enum
プロパティやメソッドに日本語を使うことに抵抗を感じる人でも、これは使えると思う。
C#
private enum ImageSizes
{
標準サイズ,
中間サイズ,
最大サイズ,
};
VB
Private Enum ImageSizes
標準サイズ,
中間サイズ,
最大サイズ,
End Enum
プロパティやメソッドに日本語を使うことに抵抗を感じる人でも、これは使えると思う。
2010年1月7日木曜日
CA1012: 抽象型にはコンストラクタを含めないでください
http://msdn.microsoft.com/ja-jp/library/ms182126.aspx
public abstract class Class1
{
public Class1() {}
}
これをVS2008でコンパイルしてもエラーにはならない。
「抽象クラスの目的は、複数の派生クラスで共有できる基本クラスの共通の定義を提供すること」と書かれている。
.NET Frameworkクラスライブラリでは、抽象クラスのコンストラクタは、protectedで宣言されている。
したがって、次のようなコードでルールかした方がいい。
public abstract class Class1
{
protected Class1() {}
}
もちろん、コンストラクタの内部は空にすること。
public abstract class Class1
{
public Class1() {}
}
これをVS2008でコンパイルしてもエラーにはならない。
「抽象クラスの目的は、複数の派生クラスで共有できる基本クラスの共通の定義を提供すること」と書かれている。
.NET Frameworkクラスライブラリでは、抽象クラスのコンストラクタは、protectedで宣言されている。
したがって、次のようなコードでルールかした方がいい。
public abstract class Class1
{
protected Class1() {}
}
もちろん、コンストラクタの内部は空にすること。
2010年1月6日水曜日
アクセサビリティ(アクセス修飾子)
クラスは、publicかInternalのみです。つまり、「このクラスは、アセンブリ内のみか全面的公開か」という範囲宣言であり、他のアクセサで宣言するとコンパイルエラーになります。なお、入れ子のクラスはすべて宣言が可能です。
他のアクセサは、クラス内のメンバー(フィールド、プロパティ、メソッド)に適用できます。
[C#]
protectedは、自クラスと派生クラスに対してのみ公開
internalは、アセンブリ内のみ公開(他のアセンブリは非公開)
protected internalは、アセンブリ内の公開とアセンブリ外の派生クラスに公開
[VB]
PublicとPrivateは、全面的公開か全面的非公開
Protectedは、自クラスと派生クラスに対してのみ公開
Friendは、アセンブリ内のみ公開(他のアセンブリは非公開)
Protected Friend は、アセンブリ内の公開とアセンブリ外の派生クラスに公開
Visual Studio(IDE)を使いこなす
C#やVBでWindowsプログラミングを行う場合、統合開発環境であるVisual Studioを利用するのが一般的です。
- プロジェクトの作成
- 画面デザインとプロパティ設定
- イベントハンドラの生成
- クラスの生成
- ヘルプとのリンク(親和性)
- コンパイルとエラー対応
- デバッグ
と、プログラムの設計以外の作業の多くをVisual Studioが行っています。
特に、始めての人がいきなりWindowsアプリケーションをベースにしてプログラミングの学習をするのは、非常に危険です。
私が提唱している方法は
- Visual Studioを使いこなすためのトレーニング
- そのための、Windowsアプリケーション教材
- 設計以外の全工程を作業として体験する
これを何度か繰り返すことにより、プログラミング作業に馴染むことができるため、以降の文法やプログラミング学習(習得)がやりやすくなります。
一番の問題は、焦って自分のプログラムを書こうとすることです。
手続き型言語(C言語など)の場合はそれでもいいのですが、オブジェクト指向言語の場合、プログラムを書くというスタンスだと失敗します。直ぐに訳が分からなくなり、混乱することになります。
これを避けるためには、
●この講座は有料ですが、サポートが付いていますので是非試してください。1章は無料!
●このメルマガは無料です
を参考にしてください。
2010年1月5日火曜日
オートコンプリート 【auto-complete】を利用する
オートコンプリート 【auto-complete】機能が、TextBoxコントロールとComboBoxコントロールに備わっています。
●TextBoxコントロール
textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
textBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.FileSystem;
●ComboBoxコントロール
comboBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
comboBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.HistoryList
「オートコンプリートとは、キーボードからの入力を補助する機能の一つで、過去の入力履歴を参照して次の入力内容を予想し、あらかじめ表示すること。表計算ソフトなどでよく採用されており、最近ではWebブラウザのアドレス入力や、ソフトウェア開発環境のエディタなどにも搭載されている。」
手入力をできるだけ省力化すると同時に、ナビゲーション機能としても役に立ちます。
●TextBoxコントロール
textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
textBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.FileSystem;
comboBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
comboBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.HistoryList
「オートコンプリートとは、キーボードからの入力を補助する機能の一つで、過去の入力履歴を参照して次の入力内容を予想し、あらかじめ表示すること。表計算ソフトなどでよく採用されており、最近ではWebブラウザのアドレス入力や、ソフトウェア開発環境のエディタなどにも搭載されている。」
手入力をできるだけ省力化すると同時に、ナビゲーション機能としても役に立ちます。
登録:
投稿 (Atom)




