クラスライブラリとは

便利な機能をひとかたまりにした部品のようなもの。

クラスの利用(オブジェクトの作成[インスタンスの生成])

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 インベストウェイ ホームへのリンク