Get namespace in a Code Snippet

后端 未结 1 449
再見小時候
再見小時候 2021-02-10 03:30

The Microsoft link here lists three methods that we can use.

But how do we get the current namespace? I see there is a similar question, but the answer to that is using

相关标签:
1条回答
  • 2021-02-10 04:10

    Found out that it can be done and it brings into picture the classes ExpansionProvider & ExpansionFunction

    For the above snippet, I had to do something as such:

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

    And the LanguageService tells the snippet file where to look for definition of the function:

    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;
            }
        }
    

    This turned out to be more like a tutorial question hence I have provided the links above. Should be helpful. Worked for me :)

    0 讨论(0)
提交回复
热议问题