共用方式為


CodeEvent.InfoLocation 屬性

取得程式碼模型的功能。

命名空間:  EnvDTE80
組件:  EnvDTE80 (在 EnvDTE80.dll 中)

語法

'宣告
ReadOnly Property InfoLocation As vsCMInfoLocation
vsCMInfoLocation InfoLocation { get; }
property vsCMInfoLocation InfoLocation {
    vsCMInfoLocation get ();
}
abstract InfoLocation : vsCMInfoLocation
function get InfoLocation () : vsCMInfoLocation

屬性值

型別:EnvDTE.vsCMInfoLocation
其中一個 vsCMInfoLocation 值。

備註

如果 InfoLocation 傳回 vsCMInfoLocationProject,則可設定屬性、取得 StartPoint、取得 EndPoint 等。當您從某個程式碼模型物件 (A) 移至另一個 (B) 的時候 (例如從某個函式移至它的型別,或從某個類別移至它的基底類別),如果 B 的定義在其他專案中,它可能會是 vsCMInfoLocationExternal 型別。實際情況要視該程式碼模型實作 (實作物件 B 專案的程式語言是否與實作物件 A 者相同) 而定。

如果 InfoLocation 傳回 vsCMInfoLocationExternal,則資訊只能從中繼資料、檢視 DLL,或從凍結的原始程式取得。您或許可以取得 StartPointEditPoint,但是卻無法編輯文件;換言之,您無法設定屬性或修改程式碼項目後的文字。

如果 InfoLocation 傳回 vsCMInfoLocationNone,則所有可用的資訊都是具名的程式碼模型物件。而且,依原始程式碼的內容,在某些狀況下您可以分辨出該名稱應該是類別或是介面。不過,在這種情況下,由於程式碼模型無法將該名稱解析為任何真正有用的資訊,因此該物件可說是沒有什麼用處。

注意事項注意事項

在特定類型的編輯之後,程式碼模型項目 (例如類別、結構、函式、屬性、委派等) 的值可能不具決定性,表示其值不一定維持相同。如需詳細資訊,請參閱使用程式碼模型探索程式碼 (Visual Basic) 的<程式碼模型項目值可以變更>一節。

範例

下列範例示範如何使用 InfoLocation 屬性。

若要測試這個屬性:

  1. 將游標放在事件物件上開啟目標專案,並選取程式碼事件項目。

  2. 執行增益集。

public static void InfoLocation(EnvDTE80.DTE2 dte)
{
    TextSelection objTextSel;
    EnvDTE80.CodeEvent codeEvent;
    objTextSel = (TextSelection)dte.ActiveDocument.Selection;
    codeEvent = (EnvDTE80.CodeEvent)objTextSel.ActivePoint.get_CodeElement(vsCMElement.vsCMElementEvent);

    MessageBox.Show("\nInfoLocation property: " +
                    codeEvent.InfoLocation, "Testing CodeEvent");
}

.NET Framework 安全性

請參閱

參考

CodeEvent 介面

EnvDTE80 命名空間

其他資源

HOW TO:編譯和執行 Automation 物件模型程式碼範例

使用程式碼模型探索程式碼 (Visual Basic)

使用程式碼模型探索程式碼 (Visual C#)