我正在为VS 2010编写一个加载项。无法找到问题的答案 - 如果有CodeElement的Access属性,我该如何获得该属性。
我正在尝试反思,但没有结果。 防爆。 CodeElement是一个类方法
public void GetAccess (CodeElement codeElement)
{
object code = codeElement;
Type t = code.GetType();
t.GetProperty("Access") = vsCMAccess.vsCMAccessPublic;
}
但它不起作用..
请帮助!
答案 0 :(得分:3)
Access仅适用于某些类型的CodeElements,因此您需要检查您拥有的CodeElement类型,转换为特定类型,然后检索该属性。
示例:
if (codeElement.Kind == vsCMElementFunction)
{
return ((CodeFunction)codeElement).Access;
}
else if (codeElement.Kind == vsCMElementProperty)
{
return ((CodeProperty)codeElement).Access;
}