LanguageService.CreateExpansionFunction 方法
实例化 ExpansionFunction 类。
命名空间: Microsoft.VisualStudio.Package
程序集: Microsoft.VisualStudio.Package.LanguageService.9.0(在 Microsoft.VisualStudio.Package.LanguageService.9.0.dll 中)
Microsoft.VisualStudio.Package.LanguageService.10.0(在 Microsoft.VisualStudio.Package.LanguageService.10.0.dll 中)
Microsoft.VisualStudio.Package.LanguageService.11.0(在 Microsoft.VisualStudio.Package.LanguageService.11.0.dll 中)
Microsoft.VisualStudio.Package.LanguageService(在 Microsoft.VisualStudio.Package.LanguageService.dll 中)
语法
声明
Public Overridable Function CreateExpansionFunction ( _
provider As ExpansionProvider, _
functionName As String _
) As ExpansionFunction
public virtual ExpansionFunction CreateExpansionFunction(
ExpansionProvider provider,
string functionName
)
参数
- provider
类型:Microsoft.VisualStudio.Package.ExpansionProvider
[in] 是使用 ExpansionFunction的 ExpansionProvider 。
- functionName
类型:System.String
[in] ExpansionFunction 表示函数的名称。
返回值
类型:Microsoft.VisualStudio.Package.ExpansionFunction
如果成功,则返回 ExpansionFunction 对象;否则,返回空值。
备注
扩展功能处于将调用提供一个或多个值的代码段模板中的一个函数,该模板展开。 如果支持的语言代码段的扩展功能,则必须从 ExpansionFunction 派生类并从此方法返回该类的实例。
该基方法返回空值,指示默认情况下展开功能不支持。
示例
此示例演示 CreateExpansionFunction 方法的一个可能的实现。 两个扩展功能在两个不同的类、 MyClassNameExpansionFunction 和 MyEnumAccessTypeExpansionFunction实现。 为此示例的更详细的版本参见 ExpansionFunction 类。
using Microsoft.VisualStudio.Package;
namespace MyLanguagePackage
{
public class MyLanguageService : LanguageService
{
public override ExpansionFunction CreateExpansionFunction(ExpansionProvider provider,
string functionName)
{
ExpansionFunction function = null;
if (String.Compare(functionName, "GetClassName", true) == 0)
{
function = new MyGetClassNameExpansionFunction(provider);
}
else if (String.Compare(functionName, "EnumAccessType", true) == 0)
{
function = new MyEnumAccessTypeExpansionFunction(provider);
}
return function;
}
}
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。