產生方法 Stub
更新:2007 年 11 月
產生方法 Stub 是 IntelliSense 自動產生程式碼的功能,提供簡單的方法讓 Visual Studio 在您撰寫方法呼叫時建立新方法宣告。Visual Studio 會根據呼叫推斷宣告。
某些程式設計樣式 (例如專做測試的開發) 會建議您在定義前應該先使用 [產生方法 Stub]。這樣一來,就比較容易判斷您正在開發的 API 表單。您可以使用 IntelliSense 以該樣式來撰寫程式。產生方法 Stub 作業可讓您不需要在使用前定義所有的項目。
產生方法 Stub IntelliSense 作業也可以增加產能,因為您不需要從呼叫程式碼移動目前的焦點至定義的程式碼,而是會有一個不同的焦點以利產生新方法。您將可撰寫方法呼叫,然後叫用 (Invoke) [產生方法 Stub] 作業,而不會分散您的注意力。
備註
透過智慧標籤叫用
智慧標籤表示您可以叫用產生方法 Stub 作業。只有游標位於方法呼叫中時才可以使用智慧標籤,而且只有在 Visual Studio 找不到與呼叫之方法的名稱和參數數目相同的方法時,才可看見智慧標籤。當此智慧標籤變成可見時,會顯示在方法識別項最左邊的字元下。如果您將游標移出方法呼叫,智慧標籤就會消失。
您可以透過鍵盤快速鍵、[IntelliSense] 功能表以及 [程式碼編輯器] 的快速鍵功能表叫用 [產生方法 Stub] 命令。如需詳細資訊,請參閱 HOW TO:產生方法 Stub。
手動叫用
[產生方法 Stub] 命令在所有內容中都可以從 [IntelliSense] 功能表取得。這會允許只有參數型別不同,但參數數目都一樣的多載。例如:
class Program
{
static void Method(int a) { }
static void Main()
{
Method("Call"); // No smart tag.
}
}
在上一個範例程式碼中,當游標位於呼叫 Method 時,便可以使用智慧標籤。不過,如果您從 [IntelliSense] 功能表叫用 [產生方法 Stub] 命令時,IntelliSense 會產生一個需要字串參數,而且名為 Method 的靜態方法。
所產生的方法 Stub 可以是執行個體 (Instance) 或為靜態。如果是根據類型來叫用方法,則所產生的 Stub 為靜態,否則就為執行個體。
參數名稱
所產生之方法 Stub 的每個參數名稱,都是從傳遞至方法呼叫的引數名稱而衍生。例如:
class Program
{
static void Main()
{
string filename = @"file.txt";
int wordCount = CountWords(filename);
}
}
在上一個範例程式碼中,[產生方法 Stub] 將會產生方法簽章 (Signature),該簽章需要名為 filename 的字串型別參數。
[產生方法 Stub] 功能所產生的程式碼是由定義在 MethodStub.snippet 檔案中的程式碼片段所模型化。程式碼片段是可以修改的。如需詳細資訊,請參閱 HOW TO:管理程式碼片段。
模稜兩可的型別
[產生方法 Stub] 會在無法推斷參數的型別或傳回值時使用 Object,例如使用匿名型別或隱含型別的區域變數 (關鍵字 var)。例如:
class Program
{
static void Main()
{
var filename = Method(); //Cannot infer the return type
}
}
在上一個範例中,在 Method() 上叫用產生方法 Stub 會使方法 Stub 傳回 Object。