在代码段中获取命名空间

这里的Microsoft链接列出了我们可以使用的三种方法。

但是我们如何获得当前的命名空间? 我看到有一个类似的问题,但答案是使用宏,这不解决这个具体的问题。

NameSpace()做这样的事情:

  
. .
namespace NameSpace()

发现它可以完成并且它将ExpansionProvider和ExpansionFunction类带入画面

对于上面的代码片段,我不得不这样做:

 internal class NameSpaceExpansionFunction : ExpansionFunction { public NameSpaceExpansionFunction(ExpansionProvider provider) : base(provider) { } public override string GetCurrentValue() { //get namespace return namespace; } } 

并且LanguageService告诉代码片段文件在哪里查找函数的定义:

 public class MyLanguageService : LanguageService { public override ExpansionFunction CreateExpansionFunction(ExpansionProvider provider, string functionName) { ExpansionFunction function = null; if (String.Compare(functionName, "NameSpace", true) == 0) { function = new NameSpaceExpansionFunction(provider); } return function; } } 

事实certificate这更像是一个教程问题,因此我提供了上面的链接。 应该会有所帮助。 为我工作:)