コードアシスト リファレンス 第 12 章

VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)

◎ ディレクティブ

ここには、モデルを記述する際に使用することのできるディレクティブ (特別な機能を果たす制御文) について書いてあります。

ディレクティブには次の六つがあります。

ディレクティブは、どこに記述できるのかによって次の三つに分類できます。

◇ 文頭型ディレクティブ

文頭型ディレクティブは、モデルファイルの先頭行から記述します。ディレクティブとして認識できない行があると、それ以降の行については正しい形式で記述されていてもディレクティブを認識しません。

文頭型ディレクティブには次の四つがあります。


◇ 行末型ディレクティブ

行末型ディレクティブは、ソースコード各行の末尾に記述するディレクティブです。

行末型ディレクティブには次の一つがあります。


◇ 任意型ディレクティブ

任意型ディレクティブは、ソースコード各行の任意の箇所に記述することができます。このディレクティブより左側に記述されている部分は何の編集も加えられずに出力されます。

任意型ディレクティブには次の一つがあります。


◇ ディレクティブの書き方

MANDALA.net ビジネスロジック部品生成ツールのモデルファイルでは、コメント記述の先頭文字 "#" (ナンバ記号) および後続の英文字列がディレクティブを表します。

VB の場合の例
(1) '#Alias ___項目名_=___ItemName_
(2) Dim dummy As String '#NoGenerate
C# の場合の例
(1) //#Alias ___項目名_=___ItemName_
(2) Dim dummy As String //#NoGenerate

(1) および (2) はディレクティブとして認識されます。

VB の場合の例
(3) ' #Alias ___項目名_=___ItemName_
(4) Dim dummy As String '# NoGenerate
C# の場合の例
(3) // #Alias ___項目名_=___ItemName_
(4) Dim dummy As String //# NoGenerate

(3) はコメントの先頭頭文字が # でないためにディレクティブとして認識されません。 また、(4) は # と英文字列の間に空白があり、やはりディレクティブとして認識されません。


Alias ディレクティブ

書き方

#Alias

これは文頭型ディレクティブなので、モデルファイルの先頭行から記述します。

機能および役割

モデル変数の別名を定義します。

使用例

'#Alias ___参照テーブルキー項目_=___ItemName_
//#Alias ___参照テーブルキー項目_=___ItemName_

AppItem ディレクティブ

書き方

#AppItem

これは文頭型ディレクティブなので、モデルファイルの先頭行から記述します。

機能および役割

アプリケーションの項目 (画面項目) に置き換えるモデル変数を定義します。

使用例

'#Alias ___計算項目金額_=___ItemName_
'#AppItem Suryo , 数量項目
'#AppItem "Tanka","単価項目"
//#Alias ___計算項目金額_=___ItemName_
//#AppItem Suryo , 数量項目
//#AppItem "Tanka","単価項目"

Derived ディレクティブ

書き方

#Derived

これは文頭型ディレクティブなので、モデルファイルの先頭行から記述します。

機能および役割

項目がオンメモリ派生される項目であることを宣言します。

使用例

'#Alias ___定数派生項目_=___ItemName_
'#Derived
//#Alias ___定数派生項目_=___ItemName_
//#Derived

DerivedOrigin ディレクティブ

書き方

#DerivedOrigin

これは文頭型ディレクティブなので、モデルファイルの先頭行から記述します。

機能および役割

項目がオンメモリ派生における派生元項目であることを宣言します。

使用例

'#DerivedOrigin
'#Alias ___定数型コード項目_=___ItemName_
'#Alias ___ItemString_=___ItemName_
'#Alias ___ItemPrimitive_=___ItemVal_
'#Alias ___DerivedString_=___DerivedValue_
//#DerivedOrigin
//#Alias ___定数型コード項目_=___ItemName_
//#Alias ___ItemString_=___ItemName_
//#Alias ___ItemPrimitive_=___ItemVal_
//#Alias ___DerivedString_=___DerivedValue_

NoGenerate ディレクティブ

書き方

#NoGenerate

これは行末型ディレクティブなので、ソースコード各行の末尾に記述します。

機能および役割

このディレクティブが記述されている行は、生成物として出力しません。

使用例

Private ___DerivedString_ As String '#NoGenerate 文法違反防止ダミー
Private ___ItemString_ As String '#NoGenerate 文法違反防止ダミー
Private ___ItemPrimitive_ As String '#NoGenerate 文法違反防止ダミー
private string ___DerivedString_; // #NoGenerate 文法違反防止ダミー
private string ___ItemString_;    //#NoGenerate 文法違反防止ダミー
private string ___ItemPrimitive_; // #NoGenerate 文法違反防止ダミー

RemoveComment ディレクティブ

書き方

#RemoveComment

これは任意型ディレクティブなので、ソースコード各行の任意の箇所に記述することができます。

機能および役割

コメント開始記号に続けてこのディレクティブを記述することによって、そのコメント開始記号を除去します。

つまり、このディレクティブに続けて記述されているソースコードがそのまま出力されます。

このディレクティブを使用して記述されたソースコードは、Visual Studio による文法チェックを受けることができないので多用することはおすすめできません。モデル記述上の文法エラーを回避する方法がない場合にのみ使用するようにしてください。

使用例

' InitValLC フックメソッド
'項目に設定する初期値を返します。
Public Function InitValLC(ByVal De_Index As Integer) As ___ItemType_
    '#RemoveComment Return De_Index + 1
    Return New ___ItemType_
End Function
// InitValLC フックメソッド                        
//項目に設定する初期値を返します。
public ___ItemType_ InitValLC( int De_Index ) {
    //#RemoveComment return De_Index + 1;
    return new ___ItemType_(); // #NoGenerate
}

コードアシスト リファレンス 第 12 章