我正在为 VS 2010 编写一个加载项。找不到问题的答案 - 如果 CodeElement 有 Access 属性,我如何获取它。

我正在尝试反射(reflection),但没有结果。
前任。 CodeElement 是一个类方法

public void GetAccess (CodeElement codeElement)

{

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

}

但它不起作用..

请帮助!

最佳答案

Access 仅适用于某些类型的 CodeElement,因此您需要检查您拥有的 CodeElement 的类型,转换为特定类型,然后检索属性。

例子:

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

关于visual-studio - 获取 CodeElement 的 Access 属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6014592/

10-11 04:54