何はともあれ共通ルーチン

ミニマムな素人さんのお遊びであるのならいざ知らず、プロがまじめにプログラムを組むのであれば、部品の共通化は当然且つ避けて通れない問題です。
…が、案外そのあたりの記述が少ないこともまた特徴です(「なにの」特徴なのかはあえて秘しますが :-P )。
しかし、プログラム効率を考えて、共通ルーチンを「作らない」事には、百害あって一利なし、の状態であることは議論を待ちません。
ので、早いタイミングで「共通ルーチンの作り方」を解説します。
ポイントは
です。

では、早速手順を追いかけて見ましょう。
便宜上、以下の共通ルーチン(というかクラスですな)を作成することを前提とします。
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