CodeDomProvider.CreateEscapedIdentifier Method (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Creates an escaped identifier for the specified value.

Namespace:   System.CodeDom.Compiler
Assembly:  System (in System.dll)

public virtual string CreateEscapedIdentifier(
	string value


Type: System.String

The string for which to create an escaped identifier.

Return Value

Type: System.String

The escaped identifier for the value.

Exception Condition

Neither this method nor the CreateGenerator method is overridden in a derived class.

CreateEscapedIdentifier tests whether the identifier conflicts with any reserved or language keywords, and if so, returns an equivalent name with language-specific escape code formatting. This is referred to an escaped identifier. The escaped identifier contains the same value but has escape-code formatting added to differentiate the identifier from the keyword. Two implementation examples are preceding the value with "@" or bracketing the value with "[" and "]".


In the .NET Framework versions 1.0 and 1.1, this method is provided by the ICodeGenerator implementation that is returned by the CreateGenerator method of the provider. In version 2.0, this method can be called directly on the code provider even if it is not overridden by the code provider. If the code provider does not override this method, the ICodeGenerator implementation is called by the base class.

Notes to Inheritors:

If you override this method, you must not call the corresponding method of the base class. The base-class method creates a generator in the derived class using the obsolete CreateGenerator method for compatibility with preexisting providers that use code generators. The base-class method then calls the equivalent method in the ICodeGenerator implementation to perform this function. You will get a NotImplementedException if you call the base-class method from a code provider that does not use a code generator.

.NET Framework
Available since 2.0
Return to top