プログラミングをはじめる前に学ぶ講座

【Windowsプログラミング入門のための入門 .NET C# / VB】
テキストに従って 「プログラミング作業を真似て学ぶ」新しい学習スタイル講座 です。
短期間でプログラミング作業を学ぶことで、プログラミング学習を効率よく行えるようになります。
プログラミング言語は、C#とVBの同時習得もOK! メールサポート有り
http://www.knowledge.ne.jp/lec1755.html

あなたの知識でネットに講座が開けます!

あなたの知識でネットに講座が開けます!
あなたのサイト情報を整理するだけで簡単に開設できます

2010年1月9日土曜日

アセンブリ(assembly)とは

アセンブリ
.NET Framework アプリケーションの主要なビルド ブロックです。
アセンブリは機能の集合体であり、1 つ以上のファイルで構成される単一の実装ユニットとしてビルド、バージョン管理、および配置されます。各アセンブリにはアセンブリ マニフェストが含まれます。

★Visual Studioのプロジェクト単位に生成される実行モジュール(EXEファイル)やライブラリ(DLLファイル)のことをアセンブリと呼びます。

タイプ ライブラリとアセンブリ マニフェスト
タイプ ライブラリは、メンバの名前やデータ型など、COM オブジェクトの特性を記述します。
アセンブリ マニフェストは、.NET Framework アプリケーションについて同様の機能を果たします。

アセンブリ マニフェストには次の情報が含まれます。
アセンブリの ID、バージョン、カルチャ、およびデジタル署名

マーシャリング(marshaling)とは

.NET Frameworkとネイティブ環境間で、実行コード呼び出しやデータ交換ができるように調停する処理のこと。

.NET Framework用に開発されたコードを「マネージ コード」と呼び、
.NET Frameworkアプリケーションによって使用されるデータを「マネージ データ」と呼ぶ。

C/C++などのネイティブ コードを「アンマネージドコード(unmanaged code)」と呼ぶ。

DomainUpDownコントロールに列挙体(enum)項目をセット

■Itemの追加

 this.domainUpDown1.Items.Add(ImageSizes.最大サイズ);

■選択状態の判定

SelectedItem と列挙体の項目を数値にキャスト
 if ((int)domainUpDown1.SelectedItem == (int)ImageSizes.最大サイズ)
  <該当処理>

プログラムの見通しがよくなると思う

列挙体(enum)の日本語化

列挙体(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() {}
}

もちろん、コンストラクタの内部は空にすること。

2010年1月6日水曜日

アクセサビリティ(アクセス修飾子)

クラスは、publicかInternalのみです。つまり、「このクラスは、アセンブリ内のみか全面的公開か」という範囲宣言であり、他のアクセサで宣言するとコンパイルエラーになります。なお、入れ子のクラスはすべて宣言が可能です。

他のアクセサは、クラス内のメンバー(フィールド、プロパティ、メソッド)に適用できます。

[C#]

publicとprivateは、全面的公開か全面的非公開
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ブラウザのアドレス入力や、ソフトウェア開発環境のエディタなどにも搭載されている。」

手入力をできるだけ省力化すると同時に、ナビゲーション機能としても役に立ちます。


TabControl タブの高さを変更する

ItemSize(Size型)プロパティで、高さを指定します。
IDEのプロパティウィンドウに、タブサイズのプロパティが表示されないため、直接Codeで指定する必要があります。