概要と準備
はじめに
Cookerは、動的なクラスの組み込みをサポートしています。
あなたのプロジェクトに、特別な機能が必要な時は、動的リンクライブラリ(.dll ファイル)として、新しいクラスを実装できます。
あなたが望むように Cooker の機能を自由に拡張できます。動的なクラスの組み込みは、そのための鍵となります。
動的組込クラスの実装には、いくつかの留意点があります。
このドキュメントでは、これらの留意点について、実際に動的組み込みクラスを実装しながら説明していきます。
目次:
fake クラス
上述のように、動的組み込みクラスの実装と説明を同時に進めていく訳ですが、クラスの仕様が決まっていなければ実装することができません。
以下に、クラスの仕様を示します。
名前を fake とします。文字列操作クラスです。
内部データとして文字列を保持します。
初期化文字列によるフィッタを持ちます。
内部データにアクセスするためのセッタ、ゲッタを持ちます。
内部データと引数を連結するためのメソッドとインスタンスを未初期化状態に戻すメソッドを持ちます。
サンプルコード
動的組み込みクラスのテンプレートをアーカイブとして用意してあります。
アーカイブ内の C# ソースファイルを追加、修正していくことで fake クラスを実装していきます。
以下にアーカイブ内の Rtemplate.cs を示します。
画像に示したように Rtemplate.cs を五つ部分に分けて、それぞれを独立したページで解説します。更にクラスの実際の登録を司る RtemplateEmbedder.cs についても独立したページで説明します。
アーカイブは以下のリンクからダウンロードして下さい。
サンプルコード ver 1.0.0.0 のダウンロード。
ダウンロードされるアーカイブは 7z 形式の実行ファイルです。このファイルを実行すれば必要なファイルが解凍されます。
動作環境
このドキュメントは Microsoft社の Visual Studio Community 2019 上で C#言語を利用することを前提しています。
プロジェクトの作成法
C#ソースコードをアーカイブで配布していますが、これを Visual Studio で扱うためにはプロジェクトを作成しなければいけません。
Visual Studio を起動させて"新しいプロジェクトの作成"を選択してプロジェクトを作成します。作成するプロジェクトの種類は以下のとおりです。
クラスライブラリ
.NET Framework
C#
次に、プロジェクトの名前などを入力します。ここでは以下のように入力します。
プロジェクト名 | Rfake |
場所 | 任意の場所 |
ソリューション名 | Rfake |
フレームワーク | .NET Framework 4.6 |
これで新しいプロジェクトが作成されます。
上記の入力値は、各自で適切な値に変更してください。
参照
まず、プロジェクトに Rice への参照を設定する必要があります。NuGet から最新の Rice をインストールします。ここでは x86 版をインストールしてください。
対象プラットフォーム
インストールした Rice の対象プラットフォームが x86 なのでプロジェクトの対象プラットフォームも x86 にする必要があります。
対象プラットフォームの設定法は上記以外にもあります。各自で適切な方法で、適切な対象プラットフォームを設定してください。
アセンブリ名
Rice 言語利用アプリケーションで使用する動的組み込みクラスのための .dll ファイルは以下の規則に従った名前を持たなければいけません。
.dll ファイルの名前は アセンブリ名を設定することで指定します。ここでは "Rtype.fake" を指定します。これで出来上がるファイルが "Rtype.fake.dll" になります。
ファイルの追加
プロジェクトにサンプルアーカイブのソースファイル(Rtemplate.cs, RtemplateEmbedder.cs)を読み込みます。
ここでは上記の方法で読み込んでいますが、読み込み法は他にもあります。各自で適切な方法で読み込んでください。
プロジェクトの作成時に Class1.cs ファイルが作成されています。各自で削除をお願いします。