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
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 :)