This topic has not yet been rated - Rate this topic

CodeEntryPointMethod Class

Represents the entry point method of an executable.

System.Object
  System.CodeDom.CodeObject
    System.CodeDom.CodeTypeMember
      System.CodeDom.CodeMemberMethod
        System.CodeDom.CodeEntryPointMethod

Namespace:  System.CodeDom
Assembly:  System (in System.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class CodeEntryPointMethod : CodeMemberMethod

The CodeEntryPointMethod type exposes the following members.

  Name Description
Public method CodeEntryPointMethod Initializes a new instance of the CodeEntryPointMethod class.
Top
  Name Description
Public property Attributes Gets or sets the attributes of the member. (Inherited from CodeTypeMember.)
Public property Comments Gets the collection of comments for the type member. (Inherited from CodeTypeMember.)
Public property CustomAttributes Gets or sets the custom attributes of the member. (Inherited from CodeTypeMember.)
Public property EndDirectives Gets the end directives for the member. (Inherited from CodeTypeMember.)
Public property ImplementationTypes Gets the data types of the interfaces implemented by this method, unless it is a private method implementation, which is indicated by the PrivateImplementationType property. (Inherited from CodeMemberMethod.)
Public property LinePragma Gets or sets the line on which the type member statement occurs. (Inherited from CodeTypeMember.)
Public property Name Gets or sets the name of the member. (Inherited from CodeTypeMember.)
Public property Parameters Gets the parameter declarations for the method. (Inherited from CodeMemberMethod.)
Public property PrivateImplementationType Gets or sets the data type of the interface this method, if private, implements a method of, if any. (Inherited from CodeMemberMethod.)
Public property ReturnType Gets or sets the data type of the return value of the method. (Inherited from CodeMemberMethod.)
Public property ReturnTypeCustomAttributes Gets the custom attributes of the return type of the method. (Inherited from CodeMemberMethod.)
Public property StartDirectives Gets the start directives for the member. (Inherited from CodeTypeMember.)
Public property Statements Gets the statements within the method. (Inherited from CodeMemberMethod.)
Public property TypeParameters Gets the type parameters for the current generic method. (Inherited from CodeMemberMethod.)
Public property UserData Gets the user-definable data for the current object. (Inherited from CodeObject.)
Top
  Name Description
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public event PopulateImplementationTypes An event that will be raised the first time the ImplementationTypes collection is accessed. (Inherited from CodeMemberMethod.)
Public event PopulateParameters An event that will be raised the first time the Parameters collection is accessed. (Inherited from CodeMemberMethod.)
Public event PopulateStatements An event that will be raised the first time the Statements collection is accessed. (Inherited from CodeMemberMethod.)
Top

A CodeEntryPointMethod is a CodeMemberMethod that represents the entry point method of an executable.

This example demonstrates using a CodeEntryPointMethod to indicate the method to start program execution at.


// Builds a Hello World Program Graph using System.CodeDom objects
public static CodeCompileUnit BuildHelloWorldGraph()
{            
    // Create a new CodeCompileUnit to contain the program graph
    CodeCompileUnit CompileUnit = new CodeCompileUnit();

    // Declare a new namespace object and name it
    CodeNamespace Samples = new CodeNamespace("Samples");
    // Add the namespace object to the compile unit
    CompileUnit.Namespaces.Add( Samples );

    // Add a new namespace import for the System namespace
    Samples.Imports.Add( new CodeNamespaceImport("System") );            

    // Declare a new type object and name it
    CodeTypeDeclaration Class1 = new CodeTypeDeclaration("Class1");
    // Add the new type to the namespace object's type collection
    Samples.Types.Add(Class1);            

    // Declare a new code entry point method
    CodeEntryPointMethod Start = new CodeEntryPointMethod();
    // Create a new method invoke expression
    CodeMethodInvokeExpression cs1 = new CodeMethodInvokeExpression( 
        // Call the System.Console.WriteLine method
        new CodeTypeReferenceExpression("System.Console"), "WriteLine", 
        // Pass a primitive string parameter to the WriteLine method
        new CodePrimitiveExpression("Hello World!") );
    // Add the new method code statement
    Start.Statements.Add(new CodeExpressionStatement(cs1));        

    // Add the code entry point method to the type's members collection
    Class1.Members.Add( Start );

    return CompileUnit;


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ