CodeGenerationOptions Enum


Specifies various options to use when generating .NET types for use with an XML Web Service.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class CodeGenerationOptions
public enum CodeGenerationOptions
public enum CodeGenerationOptions
type CodeGenerationOptions = 
type CodeGenerationOptions = 
Public Enum CodeGenerationOptions


EnableDataBinding 16

Enables data binding.

GenerateNewAsync 2

Creates events for the asynchronous invocation of Web methods.

GenerateOldAsync 4

Creates Begin and End methods for the asynchronous invocation of Web methods.

GenerateOrder 8

Generates explicitly ordered serialization code as specified through the Order property of the XmlAnyElementAttribute, XmlArrayAttribute, and XmlElementAttribute attributes.

GenerateProperties 1

Represents primitive types by properties.

None 0

Represents primitive types by fields and primitive types by System namespace types.


The following example illustrates the use of the CodeGenerationOptions enumeration to specify the behavior of a ServiceDescriptionImporter object.

// Generate properties to represent primitive values.
importer->CodeGenerationOptions = System::Xml::Serialization::CodeGenerationOptions::GenerateProperties;
// Generate properties to represent primitive values.
importer.CodeGenerationOptions = System.Xml.Serialization.CodeGenerationOptions.GenerateProperties;


A Web Service Description Language (WSDL) file typically describes a class in XML schema language as an xsd:complex type composed of various primitive xsd:complex and xsd:simple types. When generating a .NET class that represents a given xsd:complex type, you must choose how to represent the various primitive types it contains.

By default, each primitive is implemented as a field. If you specify the GenerateProperties option, each primitive type is instead implemented as a property.

Ordering of serialization code

The GenerateOrder member instructs the code generator to create the serialization code in a specific order as determined by the Order property of the following attributes:


Once the Order property has been set on one public property or field in a type, it must be applied to all public properties and fields for that type and all inherited types.

Applies to

See also