何はともあれ共通ルーチン
ミニマムな素人さんのお遊びであるのならいざ知らず、プロがまじめにプログラムを組むのであれば、部品の共通化は当然且つ避けて通れない問題です。
…が、案外そのあたりの記述が少ないこともまた特徴です(「なにの」特徴なのかはあえて秘しますが :-P )。
しかし、プログラム効率を考えて、共通ルーチンを「作らない」事には、百害あって一利なし、の状態であることは議論を待ちません。
ので、早いタイミングで「共通ルーチンの作り方」を解説します。
ポイントは
- 拡張子.csでプログラムを書く
- namespaceを持ち、namespace内でクラス宣言を展開する
- cscでコンパイルし、.dll化する
- DocmentRoot直下の/binディレクトリ(なければ作る)に.dllを配置
- .aspxファイル内でImport宣言を行う(namespaceの名称に対して宣言を行う、という点に注意)
です。
では、早速手順を追いかけて見ましょう。
便宜上、以下の共通ルーチン(というかクラスですな)を作成することを前提とします。
namespace:furu
クラス名:config
ファイル名:config.cs
・拡張子.csでプログラムを書く
という訳で、config.cs内にクラスを記述します。なお内容は適当なので、適宜補ってください。
public class config {
public bool get(string filename) { return true; }
public string find(string key) { return "value"; }
}
・namespaceを持ち、namespace内でクラス宣言を展開する
上記のプログラムをnamespaceで囲んでやります。そうすると以下のようになるかと思います。
namespace furu {
public class config {
public bool get(string filename) { return true; }
public string find(string key) { return "value"; }
} // end of class
} // end of namespace
・cscでコンパイルし、.dll化する
コンパイル時はこのようなコマンドを発行します。
csc /t:library config.cs
ちなみに、もし「このクラスが別のdll内のクラスからの継承」だったり「このクラス内で別のクラスを利用している」場合、
csc /r:利用してる.dll /t:library config.cs
csc /r:利用してる.dll /r:利用してる2.dll /t:library config.cs
という風になりますのでご注意を。
typoなどがなければ、コンパイルが行われ、ソースファイルがあるディレクトリにconfig.dllというファイルが出来上がっているかと思います。
・DocmentRoot直下の/binディレクトリ(なければ作る)に.dllを配置
というわけで、先ほど出来上がったdllをIISサーバの/binに配置します。
・.aspxファイル内でImport宣言を行う
今回はfuruという名前空間(namespace)を使っているので、
<%@ Import namespace="furu"%>
と宣言します。場所は <%@ Page language="c#" %> の直下が妥当でしょう。
これで、config.csで作成したconfigクラスにアクセスができます。あとはnewして、思う存分使ってください。その辺は「ふつーにクラスを使う」のとなんら変わりないので省略します。
戻る
Copyright 2005 M-Fr Net All Right Reserved
E-Mail:info@m-fr.net