4

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

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

public void GetAccess (CodeElement codeElement)

{

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

}

但它不起作用..

请帮忙!

4

1 回答 1

4

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

例子:

if (codeElement.Kind == vsCMElementFunction)
{
    return ((CodeFunction)codeElement).Access;
}
else if (codeElement.Kind == vsCMElementProperty)
{
    return ((CodeProperty)codeElement).Access;
}
于 2011-10-04T21:42:08.393 回答