輸入引數和方法

2021-09-06 15:30:28 字數 3221 閱讀 7520

在【codesmith快速入門之一:初次接觸codesmith】中,我們實現了最簡單的模板,但是模板中的內容無法由使用者的輸入決定。

假定你女朋友要你在新年的時候說10次「i love you」,而在情節人那天要你說1000次「i love you for ever」,這可怎麼辦呢?

我們經過分析,其實就是次數和說的內容不確定。

那麼我們馬上著手開始實現吧。

1、新建c#模板,去掉原始內容並儲存取名為「love.cst」

(操作同【codesmith快速入門之一:初次接觸codesmith】一致)

2、新增模板宣告

@ codetemplate language

= "

c#" responseencoding="utf-8"

description

= "

愛情表達

" %>

3、為了可以接收外部傳進來的「次數」和「內容」,定義兩個輸入引數

@ codetemplate language

= "

c#" responseencoding="utf-8"

description

= "

愛情表達

" %>

@ property

name

= "

content

"  type

= "

string

"  default

= ""

optional

= "

false

"  category

= "

context

"  description

= "

要講的話

"  

%>

@ property

name

= "

count

"  type

= "

int32

"  default

= "

10"  optional

= "

true

"  category

= "

context

"  description

= "

講的次數

"  

%>

property的屬性:

--name:名稱

--type:資料型別

--category:屬性分類名稱

--default:預設值

--description:描述

--optional:是否允許為空(true或者false)

注意:兩個引數的名稱分別為:content和count,我們可以像使用變數一樣使用

4、為了重用,在模板中定義乙個方法

<

script 

runat

="template"

>

public 

void

say()}

指令碼標籤中可以包含一段**,但是它們不直接影響輸出的模板,我們可以在裡面存放一些常用的方法

5、在模板中呼叫方法

@ codetemplate language

= "

c#" responseencoding="utf-8"

description

= "

愛情表達

" %>

@ property

name

= "

content

"  type

= "

string

"  default

= ""

optional

= "

false

"  category

= "

context

"  description

= "

要講的話

"  

%>

@ property

name

= "

count

"  type

= "

int32

"  default

= "

10"  optional

= "

true

"  category

= "

context

"  description

= "

講的次數

"  

%>

您說的內容如下:

say(); // 呼叫say方法

%>

<

script 

runat

="template"

>

public 

void

say()}

**標籤:

6、執行模板,但是發現報出錯誤

content is required:要講的內容不能為空。原來我們把content引數的optional設定為了false,content必須輸入值。

9、在屬性視窗中輸入值【i love you】並重新執行

注:count中有預設值10,說明default為10產生作用。

最後結果為:

您說的內容如下:

i love you

i love you

i love you

i love you

i love you

i love you

i love you

i love you

i love you

i love you

呵呵,怎麼樣,效果出來了吧。下次我將會為大家講解對資料庫中資訊的訪問,謝謝!

引數方法和非引數方法

機器學習上的方法分為引數方法 根據先驗知識假定模型服從某種分布,然後利用訓練集估計出模型引數,也就弄清楚了整個模型,例如感知器 和非引數方法 基於記憶訓練集,然後根據訓練集 例如knn 引數方法根據先驗知識假定模型服從某種分布,然後利用訓練集估計出模型引數,也就弄清楚了整個模型。那麼,估計模型引數到...

帶引數方法和不帶引數方法

方法分為帶引數不帶引數兩種 a不帶引數 public void showinfo b帶引數方法 public void showinfo intname,string str 結論 1方法定義處,引數叫形式引數,也叫形參 主要用來約束引數型別的 形參的名字可以隨便取,但要符合駝峰命名規則,同時要有意...

輸入引數varargin

一種特別的輸入引數varargin 可以在自定義函式中得到,這種函式支援輸入引數的變數的個數。這個引數顯在輸入引數列表的最後一項,它返回乙個單元陣列,所以乙個輸入實參可以包括任意數目的實參。每乙個實參都變成了由varagin 返回的單元陣列元素。如果它被應用,varagin 必須是函式中的最後乙個輸...