2011-05-16 37 views
4

我正在爲VS 2010編寫一個加載項。無法找到問題的答案 - 如何獲取CodeElement的Access屬性(如果有)。獲取CodeElement的屬性

我在嘗試反射,但沒有結果。例如, CodeElement是一個類的方法

public void GetAccess (CodeElement codeElement) 

{ 

     object code = codeElement; 
     Type t = code.GetType(); 
     t.GetProperty("Access") = vsCMAccess.vsCMAccessPublic; 

} 

但它不工作..

幫助,請!

回答

3

訪問權限僅適用於某些類型的CodeElements,因此您需要檢查您擁有的CodeElement類型,將其轉換爲特定類型,然後檢索屬性。

實施例:

if (codeElement.Kind == vsCMElementFunction) 
{ 
    return ((CodeFunction)codeElement).Access; 
} 
else if (codeElement.Kind == vsCMElementProperty) 
{ 
    return ((CodeProperty)codeElement).Access; 
}