CSharpCodeProviderとは? わかりやすく解説

CSharpCodeProvider イベント


パブリック イベントパブリック イベント

参照参照

関連項目

CSharpCodeProvider クラス
Microsoft.CSharp 名前空間
ICodeGenerator
ICodeCompiler
System.CodeDom
System.CodeDom.Compiler

CSharpCodeProvider クラス

C# コード ジェネレータC# コード コンパイラインスタンスへのアクセス提供します

名前空間: Microsoft.CSharp
アセンブリ: System (system.dll 内)
構文構文

Public Class CSharpCodeProvider
    Inherits CodeDomProvider
Dim instance As CSharpCodeProvider
public class CSharpCodeProvider : CodeDomProvider
public ref class CSharpCodeProvider : public
 CodeDomProvider
public class CSharpCodeProvider extends CodeDomProvider
public class CSharpCodeProvider extends
 CodeDomProvider
解説解説

このクラスは、C# ICodeGenerator 実装C# ICodeCompiler 実装インスタンス取得するために使用できるメソッド提供します

使用例使用例

C# または Visual Basic コード プロバイダ使用してソース ファイルコンパイルする例を次に示します。この例では、入力ファイル拡張子チェックし対応するコンパイルCSharpCodeProvider または VBCodeProvider を使用します入力ファイル実行可能ファイルコンパイルされますコンパイル エラーはすべてコンソール表示されます。

Public Shared Function CompileExecutable(sourceName
 As String) As Boolean
    Dim sourceFile As FileInfo = New
 FileInfo(sourceName)
    Dim provider As CodeDomProvider = Nothing
    Dim compileOk As Boolean
 = False

    ' Select the code provider based on the input file extension.
    If sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture)
 = ".CS"

        provider = New Microsoft.CSharp.CSharpCodeProvider()

    ElseIf sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture)
 = ".VB"

        provider = New Microsoft.VisualBasic.VBCodeProvider()

    Else
        Console.WriteLine("Source file must have a .cs or .vb
 extension")
    End If

    If Not provider Is Nothing

        ' Format the executable file name.
        ' Build the output assembly path using the current directory
        ' and <source>_cs.exe or <source>_vb.exe.

        Dim exeName As String
 = String.Format("{0}\{1}.exe",
 _
            System.Environment.CurrentDirectory, _
            sourceFile.Name.Replace(".", "_"))

        Dim cp As CompilerParameters = new
 CompilerParameters()

        ' Generate an executable instead of 
        ' a class library.
        cp.GenerateExecutable = True

        ' Specify the assembly file name to generate.
        cp.OutputAssembly = exeName
    
        ' Save the assembly as a physical file.
        cp.GenerateInMemory = False
    
        ' Set whether to treat all warnings as errors.
        cp.TreatWarningsAsErrors = False
 
        ' Invoke compilation of the source file.
        Dim cr As CompilerResults = provider.CompileAssemblyFromFile(cp,
 _
            sourceName)
    
        If cr.Errors.Count > 0
            ' Display compilation errors.
            Console.WriteLine("Errors building {0} into {1}",
 _
                sourceName, cr.PathToAssembly)

            Dim ce As CompilerError
            For Each ce In
 cr.Errors
                Console.WriteLine("  {0}", ce.ToString())
                Console.WriteLine()
            Next ce
        Else
            ' Display a successful compilation message.
            Console.WriteLine("Source {0} built into {1} successfully.",
 _
                sourceName, cr.PathToAssembly)
        End If
      
        ' Return the results of the compilation.
        If cr.Errors.Count > 0
            compileOk = False
        Else 
            compileOk = True
        End If
    End If
    return compileOk

End Function
public static bool CompileExecutable(String
 sourceName)
{
    FileInfo sourceFile = new FileInfo(sourceName);
    CodeDomProvider provider = null;
    bool compileOk = false;

    // Select the code provider based on the input file extension.
    if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture)
 == ".CS")
    {
        provider = new Microsoft.CSharp.CSharpCodeProvider();
    }
    else if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture)
 == ".VB")
    {
        provider = new Microsoft.VisualBasic.VBCodeProvider();
    }
    else 
    {
        Console.WriteLine("Source file must have a .cs or .vb extension");
    }

    if (provider != null)
    {

        // Format the executable file name.
        // Build the output assembly path using the current directory
        // and <source>_cs.exe or <source>_vb.exe.
 
        String exeName = String.Format(@"{0}\{1}.exe", 
            System.Environment.CurrentDirectory, 
            sourceFile.Name.Replace(".", "_"));

        CompilerParameters cp = new CompilerParameters();

        // Generate an executable instead of 
        // a class library.
        cp.GenerateExecutable = true;

        // Specify the assembly file name to generate.
        cp.OutputAssembly = exeName;
    
        // Save the assembly as a physical file.
        cp.GenerateInMemory = false;
    
        // Set whether to treat all warnings as errors.
        cp.TreatWarningsAsErrors = false;
 
        // Invoke compilation of the source file.
        CompilerResults cr = provider.CompileAssemblyFromFile(cp, 
            sourceName);
    
        if(cr.Errors.Count > 0)
        {
            // Display compilation errors.
            Console.WriteLine("Errors building {0} into {1}",  
                sourceName, cr.PathToAssembly);
            foreach(CompilerError ce in cr.Errors)
            {
                Console.WriteLine("  {0}", ce.ToString());
                Console.WriteLine();
            }
        }
        else
        {
            // Display a successful compilation message.
            Console.WriteLine("Source {0} built into {1} successfully."
,
                sourceName, cr.PathToAssembly);
        }
      
        // Return the results of the compilation.
        if (cr.Errors.Count > 0)
        {
            compileOk = false;
        }
        else 
        {
            compileOk = true;
        }
    }
    return compileOk;
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.CodeDom.Compiler.CodeDomProvider
        Microsoft.CSharp.CSharpCodeProvider
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CSharpCodeProvider メンバ
Microsoft.CSharp 名前空間
ICodeGenerator
ICodeCompiler
System.CodeDom
System.CodeDom.Compiler

CSharpCodeProvider コンストラクタ


CSharpCodeProvider プロパティ


CSharpCodeProvider メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド CompileAssemblyFromDom  指定したコンパイラ設定使用して指定した CodeCompileUnit オブジェクト配列含まれている System.CodeDom ツリー基づいてアセンブリコンパイルます。 ( CodeDomProvider から継承されます。)
パブリック メソッド CompileAssemblyFromFile  指定したコンパイラ設定使用して指定したファイル格納されているソース コードからアセンブリコンパイルます。 ( CodeDomProvider から継承されます。)
パブリック メソッド CompileAssemblyFromSource  指定したコンパイラ設定使用してソース コード格納されている指定した文字列配列からアセンブリコンパイルます。 ( CodeDomProvider から継承されます。)
パブリック メソッド CreateCompiler オーバーライドされますC# コード コンパイラインスタンス取得します
パブリック メソッド CreateEscapedIdentifier  指定した値のエスケープ識別子作成します。 ( CodeDomProvider から継承されます。)
パブリック メソッド CreateGenerator オーバーロードされますオーバーライドされますC# コード ジェネレータインスタンス取得します
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド CreateParser  派生クラスオーバーライドされると、新しコード パーサー作成します。 ( CodeDomProvider から継承されます。)
パブリック メソッド CreateProvider  指定した言語の CodeDomProvider インスタンス取得します。 ( CodeDomProvider から継承されます。)
パブリック メソッド CreateValidIdentifier  指定した値の有効な識別子作成します。 ( CodeDomProvider から継承されます。)
パブリック メソッド Dispose  オーバーロードされますComponent によって使用されているリソース解放します。 ( Component から継承されます。)
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GenerateCodeFromCompileUnit  指定した CodeDOM (Code Document Object Model) コンパイル単位コード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 ( CodeDomProvider から継承されます。)
パブリック メソッド GenerateCodeFromExpression  指定した CodeDOM (Code Document Object Model) 式のコード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 ( CodeDomProvider から継承されます。)
パブリック メソッド GenerateCodeFromMember オーバーライドされます指定したテキスト ライタおよびコード ジェネレータオプション使用して指定したクラス メンバコード生成します
パブリック メソッド GenerateCodeFromNamespace  指定した CodeDOM (Code Document Object Model) 名前空間コード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 ( CodeDomProvider から継承されます。)
パブリック メソッド GenerateCodeFromStatement  指定した CodeDOM (Code Document Object Model) ステートメントコード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 ( CodeDomProvider から継承されます。)
パブリック メソッド GenerateCodeFromType  指定した CodeDOM (Code Document Object Model) 型宣言コード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 ( CodeDomProvider から継承されます。)
パブリック メソッド GetAllCompilerInfo  このコンピュータ言語プロバイダおよびコンパイラ構成設定返します。 ( CodeDomProvider から継承されます。)
パブリック メソッド GetCompilerInfo  指定した言語言語プロバイダおよびコンパイラ構成設定返します。 ( CodeDomProvider から継承されます。)
パブリック メソッド GetConverter オーバーライドされます指定したオブジェクト型の TypeConverter を取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetLanguageFromExtension  CodeDomProviderコンパイラ構成セクション構成されている、指定したファイル名拡張子関連付けられた言語名返します。 ( CodeDomProvider から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド GetTypeOutput  指定した CodeTypeReference で示される型を取得します。 ( CodeDomProvider から継承されます。)
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド IsDefinedExtension  コンピュータ上に、ファイル名拡張子関連する CodeDomProvider 実装構成されているかどうか調べます。 ( CodeDomProvider から継承されます。)
パブリック メソッド IsDefinedLanguage  コンピュータ上に、言語CodeDomProvider 実装構成されているかどうか調べます。 ( CodeDomProvider から継承されます。)
パブリック メソッド IsValidIdentifier  指定した値が現在の言語有効な識別子かどうかを示す値を返します。 ( CodeDomProvider から継承されます。)
パブリック メソッド Parse  指定したテキスト ストリームから読み取ったコードCodeCompileUnitコンパイルます。 ( CodeDomProvider から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Supports  指定したコード生成できるかどうかを示す値を返します。 ( CodeDomProvider から継承されます。)
パブリック メソッド ToString  Component の名前を格納している String返します (存在する場合)。このメソッドオーバーライドできません。 ( Component から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

CSharpCodeProvider クラス
Microsoft.CSharp 名前空間
ICodeGenerator
ICodeCompiler
System.CodeDom
System.CodeDom.Compiler

CSharpCodeProvider メンバ

C# コード ジェネレータC# コード コンパイラインスタンスへのアクセス提供します

CSharpCodeProvider データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド CSharpCodeProvider CSharpCodeProvider クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド CompileAssemblyFromDom  指定したコンパイラ設定使用して指定した CodeCompileUnit オブジェクト配列含まれている System.CodeDom ツリー基づいてアセンブリコンパイルます。 (CodeDomProvider から継承されます。)
パブリック メソッド CompileAssemblyFromFile  指定したコンパイラ設定使用して指定したファイル格納されているソース コードからアセンブリコンパイルます。 (CodeDomProvider から継承されます。)
パブリック メソッド CompileAssemblyFromSource  指定したコンパイラ設定使用してソース コード格納されている指定した文字列配列からアセンブリコンパイルます。 (CodeDomProvider から継承されます。)
パブリック メソッド CreateCompiler オーバーライドされますC# コード コンパイラインスタンス取得します
パブリック メソッド CreateEscapedIdentifier  指定した値のエスケープ識別子作成します。 (CodeDomProvider から継承されます。)
パブリック メソッド CreateGenerator オーバーロードされますオーバーライドされますC# コード ジェネレータインスタンス取得します
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド CreateParser  派生クラスオーバーライドされると、新しコード パーサー作成します。 (CodeDomProvider から継承されます。)
パブリック メソッド CreateProvider  指定した言語の CodeDomProvider インスタンス取得します。 (CodeDomProvider から継承されます。)
パブリック メソッド CreateValidIdentifier  指定した値の有効な識別子作成します。 (CodeDomProvider から継承されます。)
パブリック メソッド Dispose  オーバーロードされますComponent によって使用されているリソース解放します。 (Component から継承されます。)
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GenerateCodeFromCompileUnit  指定した CodeDOM (Code Document Object Model) コンパイル単位コード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 (CodeDomProvider から継承されます。)
パブリック メソッド GenerateCodeFromExpression  指定した CodeDOM (Code Document Object Model) 式のコード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 (CodeDomProvider から継承されます。)
パブリック メソッド GenerateCodeFromMember オーバーライドされます指定したテキスト ライタおよびコード ジェネレータオプション使用して指定したクラス メンバコード生成します
パブリック メソッド GenerateCodeFromNamespace  指定した CodeDOM (Code Document Object Model) 名前空間コード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 (CodeDomProvider から継承されます。)
パブリック メソッド GenerateCodeFromStatement  指定した CodeDOM (Code Document Object Model) ステートメントコード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 (CodeDomProvider から継承されます。)
パブリック メソッド GenerateCodeFromType  指定した CodeDOM (Code Document Object Model) 型宣言コード生成し指定したオプション使用して指定したテキスト ライタ生成されコード送信します。 (CodeDomProvider から継承されます。)
パブリック メソッド GetAllCompilerInfo  このコンピュータ言語プロバイダおよびコンパイラ構成設定返します。 (CodeDomProvider から継承されます。)
パブリック メソッド GetCompilerInfo  指定した言語言語プロバイダおよびコンパイラ構成設定返します。 (CodeDomProvider から継承されます。)
パブリック メソッド GetConverter オーバーライドされます指定したオブジェクト型の TypeConverter を取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetLanguageFromExtension  CodeDomProviderコンパイラ構成セクション構成されている、指定したファイル名拡張子関連付けられた言語名返します。 (CodeDomProvider から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド GetTypeOutput  指定した CodeTypeReference で示される型を取得します。 (CodeDomProvider から継承されます。)
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド IsDefinedExtension  コンピュータ上に、ファイル名拡張子関連する CodeDomProvider 実装構成されているかどうか調べます。 (CodeDomProvider から継承されます。)
パブリック メソッド IsDefinedLanguage  コンピュータ上に、言語CodeDomProvider 実装構成されているかどうか調べます。 (CodeDomProvider から継承されます。)
パブリック メソッド IsValidIdentifier  指定した値が現在の言語有効な識別子かどうかを示す値を返します。 (CodeDomProvider から継承されます。)
パブリック メソッド Parse  指定したテキスト ストリームから読み取ったコードCodeCompileUnitコンパイルます。 (CodeDomProvider から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Supports  指定したコード生成できるかどうかを示す値を返します。 (CodeDomProvider から継承されます。)
パブリック メソッド ToString  Component の名前を格納している String返します (存在する場合)。このメソッドオーバーライドできません。 (Component から継承されます。)
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
参照参照

関連項目

CSharpCodeProvider クラス
Microsoft.CSharp 名前空間
ICodeGenerator
ICodeCompiler
System.CodeDom
System.CodeDom.Compiler


このページでは「.NET Framework クラス ライブラリ リファレンス」からCSharpCodeProviderを検索した結果を表示しています。
Weblioに収録されているすべての辞書からCSharpCodeProviderを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からCSharpCodeProvider を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「CSharpCodeProvider」の関連用語

CSharpCodeProviderのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CSharpCodeProviderのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS