クラスライブラリとは
便利な機能をひとかたまりにした部品のようなもの。
クラスの利用(オブジェクトの作成[インスタンスの生成])
Dim 変数名 As クラス名
変数名 = New クラス名()
または
Dim 変数名 As New クラス名()
名前空間
クラスライブラリは名前空間という単位でグループ分けされている。
主な名前空間一覧
| System | データ型や文字列処理、数値演算などを利用するためのクラス群 |
| Syatem.Data.SqlClient | SQL Serverを利用するためのクラス群 |
| System.Data.OleDb | OLEDB接続を利用するためのクラス群 |
| System.Data | ADO.NETのその他の機能を提供するクラス群 |
| System.IO | ファイル入出力を行うためのクラス群 |
| System.XML | XMLデータを処理するためのクラス群 |
| System.Web.Mail | メールを送信するためのクラス群 |
| System.Net | ネットワーク機能を利用するためのクラス群 |
クラスの完全な名前
クラス名は、名前空間を追加したものが完全な名前になり、プログラムからクラスを利用する場合は、完全な名前を指定しなければならない。例えば、[System.Data.SqlClient]名前空間の[SqlConnection]というクラスであれば[System.Data.SqlClient.SqlConnection]が完全な名前で、次のように利用する。
Dim cn As New System.Data.SqlClient.SqlConnection()
Importsによる名前空間の宣言
プログラム内で同じ名前空間のクラスをたくさん利用するには、クラス名をその都度完全な名前で記述するのは面倒なので、Importsステートメントを利用することで、コード内で使用する名前空間を最初に宣言しておき、コード内ではクラス名のみを記述することができる。
Imports System.Data.SqlClient
:
Dim cn As New SqlConnection()
ただし、System名前空間に属するクラスだけは例外で、クラス名のみでそのまま利用できる。
クラスのプロパティ/メソッド
クラスは、Webサーバーコントロールと同じように、プロパティ(属性)とメソッド(機能)を持ち次のように記述することでプロパティとメソッド利用できる。
変数名.プロパティ名 = 設定した値
変数名.メソッド名(引数1, 引数2, ...)
使用例:RandomクラスのNextメソッド
Sub Button1_Click(...)
Dim obj As New System.Random()
Label1.Text = obj.Next(10)
End Sub
コンストラクタ
コンストラクタは、Newキーワードを使ってオブジェクトを作成することに自動的に実行される特殊なメソッドです。
使用例:StreamReaderクラス
Dim sr As New System.IO.StreamReader("D:\abc.txt")
Label1.Text = sr.ReadToEnd()
sr.Close()
ファイル内の改行(vbCrLf/\n)は、ラベル(Label1)では無視されるので、改行付きで表示したい場合は、Replaceというメソッドを使って改行をHTMLの<br>タグに変換する必要がある。
Label1.Text = sr.ReadToEnd().Replace(vbCrLf, "<br>")
または
Label1.Text = Replace(sr.ReadToEnd(), vbCrLf, "<br>")
ファイル内に日本語が含まれている場合は次のように[Shift-JIS]へ変換する必要がある。
Dim sr As New System.IO.StreamReader("D:\abc.txt",System.Text.Encoding.GetEncoding("Shift-JIS"))
クラスライブラリのリファレンス
クラス内のプロパティやメソッド、どういったコンストラクタが用意されているかを知るには、MSDNライブラリを参照のこと。
静的メンバ
クラスの中には、Newキーワードを使ってオブジェクトを作成しなくても利用できるメソッドやプロパティがあり、静的メンバと呼ばれ、クラスライブラリ・リファレンスでは、[S]マーク付きで表示される。
使用例:Mathクラス
Label1.Text = Math.Row(2, 3) '2の3乗
Label1.Text = Math.Sqrt(2) '2の平方根
● Home Server Laboratory 自宅サーバー実験室 ホームへのリンク
● invest-way インベストウェイ ホームへのリンク