CodeGotoStatement Class
Represents a goto statement.
Assembly: System (in System.dll)
System.CodeDom::CodeObject
System.CodeDom::CodeStatement
System.CodeDom::CodeGotoStatement
| Name | Description | |
|---|---|---|
![]() | CodeGotoStatement() | Initializes a new instance of the CodeGotoStatement class. |
![]() | CodeGotoStatement(String^) | Initializes a new instance of the CodeGotoStatement class using the specified label name. |
| Name | Description | |
|---|---|---|
![]() | EndDirectives | Gets a CodeDirectiveCollection object that contains end directives.(Inherited from CodeStatement.) |
![]() | Label | Gets or sets the name of the label at which to continue program execution. |
![]() | LinePragma | Gets or sets the line on which the code statement occurs. (Inherited from CodeStatement.) |
![]() | StartDirectives | Gets a CodeDirectiveCollection object that contains start directives.(Inherited from CodeStatement.) |
![]() | UserData | Gets the user-definable data for the current object.(Inherited from CodeObject.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
CodeGotoStatement can be used to represent a goto statement, which is used in some languages to redirect program flow to a specified label.
The Label property indicates the name of the label at which to continue program execution.
Note |
|---|
Not all languages support goto statements. Call the Supports method with the GotoStatements flag to determine whether a code generator supports goto statements. |
The following example code demonstrates use of a CodeGotoStatement and a CodeLabeledStatement to redirect program flow.
// Declares a type to contain the example code. CodeTypeDeclaration^ type1 = gcnew CodeTypeDeclaration( "Type1" ); // Declares an entry point method. CodeEntryPointMethod^ entry1 = gcnew CodeEntryPointMethod; type1->Members->Add( entry1 ); // Adds a goto statement to continue program flow at the "JumpToLabel" label. CodeGotoStatement^ goto1 = gcnew CodeGotoStatement( "JumpToLabel" ); entry1->Statements->Add( goto1 ); // Invokes Console.WriteLine to print "Test Output", which is skipped by the goto statement. array<CodeExpression^>^temp = {gcnew CodePrimitiveExpression( "Test Output." )}; CodeMethodInvokeExpression^ method1 = gcnew CodeMethodInvokeExpression( gcnew CodeTypeReferenceExpression( "System.Console" ),"WriteLine",temp ); entry1->Statements->Add( method1 ); // Declares a label named "JumpToLabel" associated with a method to output a test string using Console.WriteLine. array<CodeExpression^>^temp2 = {gcnew CodePrimitiveExpression( "Output from labeled statement." )}; CodeMethodInvokeExpression^ method2 = gcnew CodeMethodInvokeExpression( gcnew CodeTypeReferenceExpression( "System.Console" ),"WriteLine",temp2 ); CodeLabeledStatement^ label1 = gcnew CodeLabeledStatement( "JumpToLabel",gcnew CodeExpressionStatement( method2 ) ); entry1->Statements->Add( label1 ); // A C# code generator produces the following source code for the preceeding example code: // public class Type1 // { // // public static void Main() // { // goto JumpToLabel; // System.Console.WriteLine("Test Output"); // JumpToLabel: // System.Console.WriteLine("Output from labeled statement."); // } // }
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



