CodeDomProvider.CreateProvider Yöntem

Tanım

Belirtilen dil için bir CodeDomProvider örnek alır.

Aşırı Yüklemeler

Name Description
CreateProvider(String)

Belirtilen dil için bir CodeDomProvider örnek alır.

CreateProvider(String, IDictionary<String,String>)

Belirtilen dil ve sağlayıcı seçenekleri için bir CodeDomProvider örnek alır.

CreateProvider(String)

Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs

Belirtilen dil için bir CodeDomProvider örnek alır.

public:
 static System::CodeDom::Compiler::CodeDomProvider ^ CreateProvider(System::String ^ language);
public static System.CodeDom.Compiler.CodeDomProvider CreateProvider(string language);
[System.Runtime.InteropServices.ComVisible(false)]
public static System.CodeDom.Compiler.CodeDomProvider CreateProvider(string language);
static member CreateProvider : string -> System.CodeDom.Compiler.CodeDomProvider
[<System.Runtime.InteropServices.ComVisible(false)>]
static member CreateProvider : string -> System.CodeDom.Compiler.CodeDomProvider
Public Shared Function CreateProvider (language As String) As CodeDomProvider

Parametreler

language
String

Dil adı.

Döndürülenler

Belirtilen dil adı için uygulanan bir CodeDOM sağlayıcısı.

Öznitelikler

Özel durumlar

bu language bilgisayarda yapılandırılmış bir sağlayıcıya sahip değil.

language şudur: null.

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki kod örneği bir giriş dili için uygulamayı belirler CodeDomProvider ve dil sağlayıcısı için yapılandırılmış ayarları görüntüler. Bu kod örneği, sınıfı için CompilerInfo sağlanan daha büyük bir örneğin parçasıdır.

CodeDomProvider provider;

// Check for a provider corresponding to the input language.
if (CodeDomProvider.IsDefinedLanguage(language))
{
    provider = CodeDomProvider.CreateProvider(language);

    // Display information about this language provider.

    Console.WriteLine("Language provider:  {0}",
        provider.ToString());
    Console.WriteLine();
    Console.WriteLine("  Default file extension:  {0}",
        provider.FileExtension);
    Console.WriteLine();

    // Get the compiler settings for this language.

    CompilerInfo langCompilerInfo = CodeDomProvider.GetCompilerInfo(language);
    CompilerParameters langCompilerConfig = langCompilerInfo.CreateDefaultCompilerParameters();

    Console.WriteLine("  Compiler options:        {0}",
        langCompilerConfig.CompilerOptions);
    Console.WriteLine("  Compiler warning level:  {0}",
        langCompilerConfig.WarningLevel);
}
else
{
    // Tell the user that the language provider was not found.
    Console.WriteLine("There is no provider configured for input language \"{0}\".",
        language);
}
Dim provider As CodeDomProvider

' Check for a provider corresponding to the input language.  
If CodeDomProvider.IsDefinedLanguage(language) Then
   provider = CodeDomProvider.CreateProvider(language)
   
   ' Display information about this language provider.
   Console.WriteLine("Language provider:  {0}", _
       provider.ToString())
   Console.WriteLine()
   Console.WriteLine("  Default file extension:  {0}", _
       provider.FileExtension)
   Console.WriteLine()
   
   ' Get the compiler settings for this language.
   Dim langCompilerInfo As CompilerInfo = CodeDomProvider.GetCompilerInfo(language)
   Dim langCompilerConfig As CompilerParameters = langCompilerInfo.CreateDefaultCompilerParameters()
   
   Console.WriteLine("  Compiler options:        {0}", _
       langCompilerConfig.CompilerOptions)
   Console.WriteLine("  Compiler warning level:  {0}", _
       langCompilerConfig.WarningLevel)
Else
   ' Tell the user that the language provider was not found.
   Console.WriteLine("There is no provider configured for input language ""{0}"".", _
       language)
End If

Açıklamalar

Note

Bu yöntem en yaygın olarak bir uygulamada isteğe bağlı olarak çeşitli sağlayıcılardan birini kullanabilen bir kod sağlayıcısı örneği oluşturmak için kullanılır. CreateProvider , örneklemek istediğiniz kod sağlayıcısını çalışma zamanında belirtmenize olanak tanır. Tasarım zamanında hangi kod sağlayıcısının kullanılacağını biliyorsanız yöntemini kullanmak yerine bu kod sağlayıcısının bir örneğini CreateProvider oluşturmanız gerekir.

yöntemi CreateProvider , belirli bir dil adı için bir CodeDomProvider örnek döndürür; yöntemi dil sağlayıcısı türüyle çağırmaya Activator.CreateInstance benzer. Bir dil adı için yapılandırılmış sağlayıcı uygulamasını dinamik olarak bulmak istediğinizde kullanın CreateProvider .

Dil adı için birden fazla sağlayıcı uygulaması yapılandırıldıysa, CreateProvider son eşleşen yapılandırma öğesi için bir sağlayıcı örneği döndürür.

Activator.CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) Belirli bir dil sağlayıcısı uygulamasını istediğinizde yöntem aşırı yüklemesini kullanın. Örneğin, CreateProvider yöntemini kullanarak "CSharp" dil adını destekleyen bir sağlayıcı örneği alın; Activator.CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) uygulaması için özel olarak bir sağlayıcı örneği almak için Microsoft.CSharp.CSharpCodeProvider yöntemi aşırı yüklemesini kullanın. Activator.CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) Bir dil için birden çok kod sağlayıcınız varsa ve belirli bir kod sağlayıcısının örneğini oluşturmak istiyorsanız yöntemini kullanın.

yöntemi, IsDefinedLanguage en az bir sağlayıcı uygulamasının belirli bir dili destekleyip desteklemediğini denetler. Dil adını'na IsDefinedLanguagegeçirmeden önce kullanarak CreateProvider doğrulayabilirsiniz. Desteklenmeyen bir dil adı CreateProvider geçirirseniz bir System.Configuration.ConfigurationException oluşturulur.

GetAllCompilerInfo yöntemi, makine yapılandırma dosyasındaki > tanımlanan geliştiriciler ve derleyici satıcıları tarafından sağlanan ek uygulamalar da dahil olmak üzere bilgisayardaki tüm uygulamaları belirlemek için kullanılabilir (Machine.config).

yöntemi, CreateProvider belirli bir dil için uygulamanın CodeDomProvider bir örneğini döndürür.

Dil adları büyük/küçük harfe duyarlı değildir.

Ayrıca bkz.

Şunlara uygulanır

CreateProvider(String, IDictionary<String,String>)

Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs
Kaynak:
CodeDomProvider.cs

Belirtilen dil ve sağlayıcı seçenekleri için bir CodeDomProvider örnek alır.

public:
 static System::CodeDom::Compiler::CodeDomProvider ^ CreateProvider(System::String ^ language, System::Collections::Generic::IDictionary<System::String ^, System::String ^> ^ providerOptions);
public static System.CodeDom.Compiler.CodeDomProvider CreateProvider(string language, System.Collections.Generic.IDictionary<string,string> providerOptions);
[System.Runtime.InteropServices.ComVisible(false)]
public static System.CodeDom.Compiler.CodeDomProvider CreateProvider(string language, System.Collections.Generic.IDictionary<string,string> providerOptions);
static member CreateProvider : string * System.Collections.Generic.IDictionary<string, string> -> System.CodeDom.Compiler.CodeDomProvider
[<System.Runtime.InteropServices.ComVisible(false)>]
static member CreateProvider : string * System.Collections.Generic.IDictionary<string, string> -> System.CodeDom.Compiler.CodeDomProvider
Public Shared Function CreateProvider (language As String, providerOptions As IDictionary(Of String, String)) As CodeDomProvider

Parametreler

language
String

Dil adı.

providerOptions
IDictionary<String,String>

Yapılandırma dosyasından sağlayıcı seçenekleri koleksiyonu.

Döndürülenler

Belirtilen dil adı ve seçenekleri için uygulanan bir CodeDOM sağlayıcısı.

Öznitelikler

Örnekler

Aşağıdaki örnekte parametresini kullanarak bir sağlayıcı örneğinin nasıl oluşturulacağı gösterilmektedir providerOptions .

using System;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
using System.Collections.Generic;

namespace ProviderOptions
{
    class Program
    {
        static void Main(string[] args)
        {
            DisplayCSharpCompilerInfo();
            DisplayVBCompilerInfo();
            Console.WriteLine("Press Enter key to exit.");
            Console.ReadLine();
        }
        static void DisplayCSharpCompilerInfo()
        {
            Dictionary<string, string> provOptions =
            new Dictionary<string, string>();

            provOptions.Add("CompilerVersion", "v4");
            // Get the provider for Microsoft.CSharp
            CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp", provOptions);

            // Display the C# language provider information.
            Console.WriteLine("CSharp provider is {0}",
                provider.ToString());
            Console.WriteLine("  Provider hash code:     {0}",
                provider.GetHashCode().ToString());
            Console.WriteLine("  Default file extension: {0}",
                provider.FileExtension);

            Console.WriteLine();
        }

        static void DisplayVBCompilerInfo()
        {
            Dictionary<string, string> provOptions =
            new Dictionary<string, string>();

            provOptions.Add("CompilerVersion", "v3.5");
            // Get the provider for Microsoft.VisualBasic
            CodeDomProvider provider = CodeDomProvider.CreateProvider("VisualBasic", provOptions);

            // Display the Visual Basic language provider information.
            Console.WriteLine("Visual Basic provider is {0}",
                provider.ToString());
            Console.WriteLine("  Provider hash code:     {0}",
                provider.GetHashCode().ToString());
            Console.WriteLine("  Default file extension: {0}",
                provider.FileExtension);

            Console.WriteLine();
        }
    }
}
Imports System.CodeDom.Compiler
Imports Microsoft.CSharp
Imports System.Collections.Generic



Class Program

    Shared Sub Main(ByVal args() As String)
        DisplayCSharpCompilerInfo()
        DisplayVBCompilerInfo()
        Console.WriteLine("Press Enter key to exit.")
        Console.ReadLine()

    End Sub

    Shared Sub DisplayCSharpCompilerInfo()
        Dim provOptions As New Dictionary(Of String, String)
        provOptions.Add("CompilerVersion", "v4")
        ' Get the provider for Microsoft.CSharp
        Dim provider As CodeDomProvider = CodeDomProvider.CreateProvider("CSharp", provOptions)

        ' Display the C# language provider information.
        Console.WriteLine("CSharp provider is {0}", provider.ToString())
        Console.WriteLine("  Provider hash code:     {0}", provider.GetHashCode().ToString())
        Console.WriteLine("  Default file extension: {0}", provider.FileExtension)

        Console.WriteLine()

    End Sub


    Shared Sub DisplayVBCompilerInfo()
        Dim provOptions As New Dictionary(Of String, String)
        provOptions.Add("CompilerVersion", "v3.5")
        ' Get the provider for Microsoft.VisualBasic
        Dim provider As CodeDomProvider = CodeDomProvider.CreateProvider("VisualBasic", provOptions)

        ' Display the Visual Basic language provider information.
        Console.WriteLine("Visual Basic provider is {0}", provider.ToString())
        Console.WriteLine("  Provider hash code:     {0}", provider.GetHashCode().ToString())
        Console.WriteLine("  Default file extension: {0}", provider.FileExtension)

        Console.WriteLine()

    End Sub
End Class

Açıklamalar

Note

Bu yöntem en yaygın olarak bir uygulamada isteğe bağlı olarak çeşitli sağlayıcılardan birini kullanabilen bir kod sağlayıcısı örneği oluşturmak için kullanılır. CreateProvider(String, IDictionary<String,String>) , örneklemek istediğiniz kod sağlayıcısının sürümünü çalışma zamanında belirtmenize olanak tanır. Tasarım zamanında hangi kod sağlayıcısının kullanılacağını biliyorsanız, yöntemini kullanmak yerine bu kod sağlayıcısının bir örneğini CreateProvider(String, IDictionary<String,String>) oluşturmanız gerekir.

Belirli bir dil ve seçenekler için yapılandırılmış bir sağlayıcı uygulamasını dinamik olarak bulmak istediğinizde kullanın CreateProvider(String, IDictionary<String,String>) . Dil adları büyük/küçük harfe duyarlı değildir. Desteklenen sağlayıcı seçenekleri hakkında bilgi için belirli CodeDOM sağlayıcısı belgelerine bakın.

Dil adı için birden fazla sağlayıcı uygulaması yapılandırılmışsa sağlayıcıyı doğrulama ve sağlayıcı çağırma hakkında bilgi için yöntemin CreateProvider(String) Açıklamalar bölümüne bakın.

Şunlara uygulanır