LanguageService.CreateExpansionFunction(ExpansionProvider, String) Yöntem

Tanım

Bir ExpansionFunction sınıf oluşturur.

public:
 virtual Microsoft::VisualStudio::Package::ExpansionFunction ^ CreateExpansionFunction(Microsoft::VisualStudio::Package::ExpansionProvider ^ provider, System::String ^ functionName);
public virtual Microsoft.VisualStudio.Package.ExpansionFunction CreateExpansionFunction (Microsoft.VisualStudio.Package.ExpansionProvider provider, string functionName);
abstract member CreateExpansionFunction : Microsoft.VisualStudio.Package.ExpansionProvider * string -> Microsoft.VisualStudio.Package.ExpansionFunction
override this.CreateExpansionFunction : Microsoft.VisualStudio.Package.ExpansionProvider * string -> Microsoft.VisualStudio.Package.ExpansionFunction
Public Overridable Function CreateExpansionFunction (provider As ExpansionProvider, functionName As String) As ExpansionFunction

Parametreler

provider
ExpansionProvider

'ndaki Öğesini ExpansionProvider kullanmak için ExpansionFunction .

functionName
String

'ndaki ExpansionFunction Temsil ettiği işlevin adı.

Döndürülenler

ExpansionFunction

Başarılı olursa, bir ExpansionFunction nesnesi döndürür; Aksi takdirde, null bir değer döndürür.

Örnekler

Bu örnek CreateExpansionFunction yönteminin olası bir uygulamasını gösterir. İki genişletme işlevi iki ayrı sınıfta uygulanır MyClassNameExpansionFunction ve MyEnumAccessTypeExpansionFunction . ExpansionFunctionBu örneğin daha ayrıntılı bir sürümü için sınıfına bakın.

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

Açıklamalar

Genişletme işlevi, şablon genişletildiğinde bir veya daha fazla değer sağlamak için çağrılacak kod parçacığı şablonunda gömülü bir işlevi gösterir. Dilinizdeki kod parçacıklarında genişletme işlevlerini destekleyecekseniz, bu yöntemden bir sınıf türetmeniz ExpansionFunction ve bu sınıftan bir örnek döndürmeniz gerekir.

Taban yöntemi, genişletme işlevlerinin varsayılan olarak desteklenmediğini belirten null bir değer döndürür.

Şunlara uygulanır