EnvDTE.CodeNamespace成员是空的?

时间:2016-09-22 11:10:27

标签: c# c++ visual-studio-extensions

我试图在活动文档中找到一个函数但是我正在努力解决一个问题,当函数在命名空间内时,我的代码试图获取EnvDTE.CodeNamespace对象的成员但是它返回空,我也试过儿童,但也是空的。

http://www.mztools.com/articles/2006/MZ2006009.aspx

我的代码通常是此代码的C#实现。它挣扎着;

If TypeOf objCodeElement Is EnvDTE.CodeNamespace Then
   colCodeElements = CType(objCodeElement, EnvDTE.CodeNamespace).Members

此函数返回空的CodeElements。知道怎么解决吗?

P.S:我的扩展程序在C ++文件上运行。

编辑:发布测试代码。

#include "stdafx.h"
#include "Header.h"
namespace ns_deneme{
    int zaza::func_deneme(int k)
    {
        a = k;
        return a;
    }
}

int wmain(int argc, wchar_t* argv[])
{
    xaxa a;
    int ba = a.deneme2(5);
}

int xaxa::deneme2(int a){
    return a;
}

Header.h

namespace ns_deneme{
    class zaza{
        private:
            int a;
            int func_deneme(int k);
    };
}

class xaxa{
public:
    int deneme2(int a);
};

问题是它确实在cpp文件中找到了wmain和deneme2的功能(头文件也无法正常工作,它提供类似-over范围等等),但cpp文件中的deneme也无效。

1 个答案:

答案 0 :(得分:2)

我建议采用不同的方式获取当前功能:

<label class="col-md-8 control-label" for="due">due</label>
<div class="col-md-4" align="left">
<input id="due" name="due" placeholder="due" class="form-control input-md" type="text">

</div>


<!-- Button -->

<div class="form-group" align="bottom">
<label class="col-md-4 control-label" for="vadd"></label>
<div class="col-md-4">
<button id="iadd" name="iadd" class="btn btn-primary">ADD</button>
</div>
</div>
</fieldset>
</form>
</div>
</div>