This documentation is archived and is not being maintained.

CodeDomProvider.IsValidIdentifier Method

Returns a value that indicates whether the specified value is a valid identifier for the current language.

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

public virtual bool IsValidIdentifier(
	string value


Type: System.String
The value to verify as a valid identifier.

Return Value

Type: System.Boolean
true if the value parameter is a valid identifier; otherwise, false.


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

This method tests whether an identifier is valid. The IsValidIdentifier method is provider specific. Identifiers that are valid for one provider might not be valid for other providers. If value contains characters outside of the ASCII character range, check the identifier for all the languages that might be used to compile the code.


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

When overriding IsValidIdentifier in a derived class, design the method to return true only if the value fits the rules of the language and does not conflict with a keyword.

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

Supported in: 4, 3.5, 3.0, 2.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.