These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft
· updates,
· supplements,
· Internet-based services, and
· support services
for this software, unless other terms accompany those items. If so, those terms apply.
BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.
IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.
1. INSTALLATION AND USE RIGHTS.
a. Installation and Use. You may install and use any number of copies of the software to design, develop and test your programs.
b. Third Party Programs. The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only.
2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
a. DISTRIBUTABLE CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in programs you develop if you comply with the terms below.
i. Right to Use and Distribute.
· You may copy and distribute the object code form of the software.
· Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.
ii. Distribution Requirements. For any Distributable Code you distribute, you must
· add significant primary functionality to it in your programs;
· require distributors and external end users to agree to terms that protect it at least as much as this agreement;
· display your valid copyright notice on your programs; and
· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs.
iii. Distribution Restrictions. You may not
· alter any copyright, trademark or patent notice in the Distributable Code;
· use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;
· include Distributable Code in malicious, deceptive or unlawful programs; or
· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that
· the code be disclosed or distributed in source code form; or
· others have the right to modify it.
3. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
· work around any technical limitations in the software;
· reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;
· publish the software for others to copy;
· rent, lease or lend the software;
· transfer the software or this agreement to any third party; or
· use the software for commercial software hosting services.
4. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software.
5. DOCUMENTATION. Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.
6. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting.
7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it.
8. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.
9. APPLICABLE LAW.
a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
b. Outside the United States. If you acquired the software in any other country, the laws of that country apply.
10. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.
11. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
FOR AUSTRALIA – YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.
12. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to
· anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and
· claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.
Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.
Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français.
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues.
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.
Cette limitation concerne :
· tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et
· les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur.
Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard.
EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.
<summary>Defines a named transient dynamic module in this assembly.</summary>
<returns>A <seecref="T:System.Reflection.Emit.ModuleBuilder"/> representing the defined dynamic module.</returns>
<paramname="name">The name of the dynamic module. Must be less than 260 characters in length. </param>
<exceptioncref="T:System.ArgumentException">
<paramrefname="name"/> begins with white space.-or- The length of <paramrefname="name"/> is zero.-or- The length of <paramrefname="name"/> is greater than or equal to 260. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. </exception>
<exceptioncref="T:System.Security.SecurityException">The caller does not have the required permission. </exception>
<exceptioncref="T:System.ExecutionEngineException">The assembly for default symbol writer cannot be loaded.-or- The type that implements the default symbol writer interface cannot be found. </exception>
<summary>Returns information about how the given resource has been persisted.</summary>
<returns>
<seecref="T:System.Reflection.ManifestResourceInfo"/> populated with information about the resource's topology, or null if the resource is not found.</returns>
<paramname="resourceName">The name of the resource. </param>
<exceptioncref="T:System.NotSupportedException">This method is not currently supported. </exception>
<exceptioncref="T:System.Security.SecurityException">The caller does not have the required permission. </exception>
<summary>Loads the specified manifest resource from this assembly.</summary>
<returns>An array of type String containing the names of all the resources.</returns>
<exceptioncref="T:System.NotSupportedException">This method is not supported on a dynamic assembly. To get the manifest resource names, use <seecref="M:System.Reflection.Assembly.GetManifestResourceNames"/>. </exception>
<exceptioncref="T:System.Security.SecurityException">The caller does not have the required permission. </exception>
<summary>The dynamic assembly can be unloaded and its memory reclaimed, subject to the restrictions described in Collectible Assemblies for Dynamic Type Generation.</summary>
<summary>Gets a <seecref="T:System.Reflection.CallingConventions"/> value that depends on whether the declaring type is generic.</summary>
<returns>
<seecref="F:System.Reflection.CallingConventions.HasThis"/> if the declaring type is generic; otherwise, <seecref="F:System.Reflection.CallingConventions.Standard"/>. </returns>
<summary>Defines a parameter of this constructor.</summary>
<returns>Returns a ParameterBuilder object that represents the new parameter of this constructor.</returns>
<paramname="iSequence">The position of the parameter in the parameter list. Parameters are indexed beginning with the number 1 for the first parameter. </param>
<paramname="attributes">The attributes of the parameter. </param>
<paramname="strParamName">The name of the parameter. The name can be the null string. </param>
<paramrefname="iSequence"/> is less than 0 (zero), or it is greater than the number of parameters of the constructor. </exception>
<exceptioncref="T:System.InvalidOperationException">The containing type has been created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Gets an <seecref="T:System.Reflection.Emit.ILGenerator"/> for this constructor.</summary>
<returns>Returns an <seecref="T:System.Reflection.Emit.ILGenerator"/> object for this constructor.</returns>
<exceptioncref="T:System.InvalidOperationException">The constructor is a default constructor.-or-The constructor has <seecref="T:System.Reflection.MethodAttributes"/> or <seecref="T:System.Reflection.MethodImplAttributes"/> flags indicating that it should not have a method body.</exception>
<summary>Gets an <seecref="T:System.Reflection.Emit.ILGenerator"/> object, with the specified MSIL stream size, that can be used to build a method body for this constructor.</summary>
<returns>An <seecref="T:System.Reflection.Emit.ILGenerator"/> for this constructor.</returns>
<paramname="streamSize">The size of the MSIL stream, in bytes.</param>
<exceptioncref="T:System.InvalidOperationException">The constructor is a default constructor.-or-The constructor has <seecref="T:System.Reflection.MethodAttributes"/> or <seecref="T:System.Reflection.MethodImplAttributes"/> flags indicating that it should not have a method body. </exception>
<seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/> has not been called on this constructor's type, in the .NET Framework versions 1.0 and 1.1. </exception>
<exceptioncref="T:System.NotSupportedException">
<seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/> has not been called on this constructor's type, in the .NET Framework version 2.0. </exception>
<exceptioncref="T:System.InvalidOperationException">The containing type has been created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Returns this <seecref="T:System.Reflection.Emit.ConstructorBuilder"/> instance as a <seecref="T:System.String"/>.</summary>
<returns>Returns a <seecref="T:System.String"/> containing the name, attributes, and exceptions of this constructor, followed by the current Microsoft intermediate language (MSIL) stream.</returns>
<summary>Returns the full path of this enum qualified by the display name of the parent assembly.</summary>
<returns>Read-only. The full path of this enum qualified by the display name of the parent assembly.</returns>
<exceptioncref="T:System.NotSupportedException">If <seecref="M:System.Reflection.Emit.EnumBuilder.CreateType"/> has not been called previously. </exception>
<summary>Adds one of the "other" methods associated with this event. "Other" methods are methods other than the "on" and "raise" methods associated with an event. This function can be called many times to add as many "other" methods.</summary>
<paramname="mdBuilder">A MethodBuilder object that represents the other method. </param>
<summary>Sets the default value of this field.</summary>
<paramname="defaultValue">The new default value for this field. </param>
<exceptioncref="T:System.InvalidOperationException">The containing type has been created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<exceptioncref="T:System.ArgumentException">The field is not one of the supported types.-or-The type of <paramrefname="defaultValue"/> does not match the type of the field.-or-The field is of type <seecref="T:System.Object"/> or other reference type, <paramrefname="defaultValue"/> is not null, and the value cannot be assigned to the reference type.</exception>
<paramname="iOffset">The offset of the field within the type containing this field. </param>
<exceptioncref="T:System.InvalidOperationException">The containing type has been created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<exceptioncref="T:System.ArgumentException">
<paramrefname="iOffset"/> is less than zero.</exception>
<summary>Gets an <seecref="T:System.Reflection.Assembly"/> object representing the dynamic assembly that contains the generic type definition the current type parameter belongs to.</summary>
<returns>An <seecref="T:System.Reflection.Assembly"/> object representing the dynamic assembly that contains the generic type definition the current type parameter belongs to.</returns>
<summary>Gets the base type constraint of the current generic type parameter.</summary>
<returns>A <seecref="T:System.Type"/> object that represents the base type constraint of the generic type parameter, or null if the type parameter has no base type constraint.</returns>
<summary>Gets a <seecref="T:System.Reflection.MethodInfo"/> that represents the declaring method, if the current <seecref="T:System.Reflection.Emit.GenericTypeParameterBuilder"/> represents a type parameter of a generic method.</summary>
<returns>A <seecref="T:System.Reflection.MethodInfo"/> that represents the declaring method, if the current <seecref="T:System.Reflection.Emit.GenericTypeParameterBuilder"/> represents a type parameter of a generic method; otherwise, null.</returns>
<summary>Gets the generic type definition or generic method definition to which the generic type parameter belongs.</summary>
<returns>If the type parameter belongs to a generic type, a <seecref="T:System.Type"/> object representing that generic type; if the type parameter belongs to a generic method, a <seecref="T:System.Type"/> object representing that type that declared that generic method.</returns>
<summary>Throws a <seecref="T:System.NotSupportedException"/> in all cases. </summary>
<returns>The type referred to by the current array type, pointer type, or ByRef type; or null if the current type is not an array type, is not a pointer type, and is not passed by reference.</returns>
<exceptioncref="T:System.NotSupportedException">In all cases.</exception>
<summary>Returns the type of a one-dimensional array whose element type is the generic type parameter.</summary>
<returns>A <seecref="T:System.Type"/> object that represents the type of a one-dimensional array whose element type is the generic type parameter.</returns>
<summary>Returns the type of an array whose element type is the generic type parameter, with the specified number of dimensions.</summary>
<returns>A <seecref="T:System.Type"/> object that represents the type of an array whose element type is the generic type parameter, with the specified number of dimensions.</returns>
<paramname="rank">The number of dimensions for the array.</param>
<summary>Returns a <seecref="T:System.Type"/> object that represents the current generic type parameter when passed as a reference parameter.</summary>
<returns>A <seecref="T:System.Type"/> object that represents the current generic type parameter when passed as a reference parameter.</returns>
<summary>Sets the base type that a type must inherit in order to be substituted for the type parameter.</summary>
<paramname="baseTypeConstraint">The <seecref="T:System.Type"/> that must be inherited by any type that is to be substituted for the type parameter.</param>
<summary>Sets the variance characteristics and special constraints of the generic parameter, such as the parameterless constructor constraint.</summary>
<paramname="genericParameterAttributes">A bitwise combination of <seecref="T:System.Reflection.GenericParameterAttributes"/> values that represent the variance characteristics and special constraints of the generic type parameter.</param>
<summary>Sets the interfaces a type must implement in order to be substituted for the type parameter. </summary>
<paramname="interfaceConstraints">An array of <seecref="T:System.Type"/> objects that represent the interfaces a type must implement in order to be substituted for the type parameter.</param>
<summary>Sets the number of generic type parameters for the current method, specifies their names, and returns an array of <seecref="T:System.Reflection.Emit.GenericTypeParameterBuilder"/> objects that can be used to define their constraints.</summary>
<returns>An array of <seecref="T:System.Reflection.Emit.GenericTypeParameterBuilder"/> objects representing the type parameters of the generic method.</returns>
<paramname="names">An array of strings that represent the names of the generic type parameters.</param>
<exceptioncref="T:System.InvalidOperationException">Generic type parameters have already been defined for this method.-or-The method has been completed already.-or-The <seecref="M:System.Reflection.Emit.MethodBuilder.SetImplementationFlags(System.Reflection.MethodImplAttributes)"/> method has been called for the current method.</exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="names"/> is null.-or-An element of <paramrefname="names"/> is null.</exception>
<exceptioncref="T:System.ArgumentException">
<paramrefname="names"/> is an empty array.</exception>
<summary>Sets the parameter attributes and the name of a parameter of this method, or of the return value of this method. Returns a ParameterBuilder that can be used to apply custom attributes.</summary>
<returns>Returns a ParameterBuilder object that represents a parameter of this method or the return value of this method.</returns>
<paramname="position">The position of the parameter in the parameter list. Parameters are indexed beginning with the number 1 for the first parameter; the number 0 represents the return value of the method. </param>
<paramname="attributes">The parameter attributes of the parameter. </param>
<paramname="strParamName">The name of the parameter. The name can be the null string. </param>
<exceptioncref="T:System.ArgumentOutOfRangeException">The method has no parameters.-or- <paramrefname="position"/> is less than zero.-or- <paramrefname="position"/> is greater than the number of the method's parameters. </exception>
<exceptioncref="T:System.InvalidOperationException">The containing type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current method, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false. </exception>
<summary>Returns an array of <seecref="T:System.Reflection.Emit.GenericTypeParameterBuilder"/> objects that represent the type parameters of the method, if it is generic.</summary>
<returns>An array of <seecref="T:System.Reflection.Emit.GenericTypeParameterBuilder"/> objects representing the type parameters, if the method is generic, or null if the method is not generic. </returns>
<returns>The current instance of <seecref="T:System.Reflection.Emit.MethodBuilder"/>. </returns>
<exceptioncref="T:System.InvalidOperationException">The current method is not generic. That is, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property returns false.</exception>
<summary>Returns an ILGenerator for this method with a default Microsoft intermediate language (MSIL) stream size of 64 bytes.</summary>
<returns>Returns an ILGenerator object for this method.</returns>
<exceptioncref="T:System.InvalidOperationException">The method should not have a body because of its <seecref="T:System.Reflection.MethodAttributes"/> or <seecref="T:System.Reflection.MethodImplAttributes"/> flags, for example because it has the <seecref="F:System.Reflection.MethodAttributes.PinvokeImpl"/> flag. -or-The method is a generic method, but not a generic method definition. That is, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false. </exception>
<summary>Returns an ILGenerator for this method with the specified Microsoft intermediate language (MSIL) stream size.</summary>
<returns>Returns an ILGenerator object for this method.</returns>
<paramname="size">The size of the MSIL stream, in bytes. </param>
<exceptioncref="T:System.InvalidOperationException">The method should not have a body because of its <seecref="T:System.Reflection.MethodAttributes"/> or <seecref="T:System.Reflection.MethodImplAttributes"/> flags, for example because it has the <seecref="F:System.Reflection.MethodAttributes.PinvokeImpl"/> flag. -or-The method is a generic method, but not a generic method definition. That is, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false. </exception>
<summary>Returns the parameters of this method.</summary>
<returns>An array of ParameterInfo objects that represent the parameters of the method.</returns>
<exceptioncref="T:System.NotSupportedException">This method is not currently supported. Retrieve the method using <seecref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> and call GetParameters on the returned <seecref="T:System.Reflection.MethodInfo"/>. </exception>
<summary>Gets or sets a Boolean value that specifies whether the local variables in this method are zero initialized. The default value of this property is true.</summary>
<returns>true if the local variables in this method should be zero initialized; otherwise false.</returns>
<exceptioncref="T:System.InvalidOperationException">For the current method, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false. (Get or set.)</exception>
<summary>Gets a value indicating whether the current <seecref="T:System.Reflection.Emit.MethodBuilder"/> object represents the definition of a generic method.</summary>
<returns>true if the current <seecref="T:System.Reflection.Emit.MethodBuilder"/> object represents the definition of a generic method; otherwise, false.</returns>
<summary>Returns a generic method constructed from the current generic method definition using the specified generic type arguments.</summary>
<returns>A <seecref="T:System.Reflection.MethodInfo"/> representing the generic method constructed from the current generic method definition using the specified generic type arguments.</returns>
<paramname="typeArguments">An array of <seecref="T:System.Type"/> objects that represent the type arguments for the generic method.</param>
<summary>Gets a <seecref="T:System.Reflection.ParameterInfo"/> object that contains information about the return type of the method, such as whether the return type has custom modifiers. </summary>
<returns>A <seecref="T:System.Reflection.ParameterInfo"/> object that contains information about the return type.</returns>
<exceptioncref="T:System.InvalidOperationException">The declaring type has not been created.</exception>
<summary>Sets a custom attribute using a specified custom attribute blob.</summary>
<paramname="con">The constructor for the custom attribute. </param>
<paramname="binaryAttribute">A byte blob representing the attributes. </param>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="con"/> or <paramrefname="binaryAttribute"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">For the current method, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false.</exception>
<summary>Sets a custom attribute using a custom attribute builder.</summary>
<paramname="customBuilder">An instance of a helper class to describe the custom attribute. </param>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="customBuilder"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">For the current method, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false.</exception>
<summary>Sets the implementation flags for this method.</summary>
<paramname="attributes">The implementation flags to set. </param>
<exceptioncref="T:System.InvalidOperationException">The containing type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current method, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false. </exception>
<summary>Sets the number and types of parameters for a method. </summary>
<paramname="parameterTypes">An array of <seecref="T:System.Type"/> objects representing the parameter types.</param>
<exceptioncref="T:System.InvalidOperationException">The current method is generic, but is not a generic method definition. That is, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false.</exception>
<summary>Sets the return type of the method.</summary>
<paramname="returnType">A <seecref="T:System.Type"/> object that represents the return type of the method.</param>
<exceptioncref="T:System.InvalidOperationException">The current method is generic, but is not a generic method definition. That is, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false.</exception>
<summary>Sets the method signature, including the return type, the parameter types, and the required and optional custom modifiers of the return type and parameter types.</summary>
<paramname="returnType">The return type of the method.</param>
<paramname="returnTypeRequiredCustomModifiers">An array of types representing the required custom modifiers, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>, for the return type of the method. If the return type has no required custom modifiers, specify null.</param>
<paramname="returnTypeOptionalCustomModifiers">An array of types representing the optional custom modifiers, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>, for the return type of the method. If the return type has no optional custom modifiers, specify null.</param>
<paramname="parameterTypes">The types of the parameters of the method.</param>
<paramname="parameterTypeRequiredCustomModifiers">An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no required custom modifiers, specify null instead of an array of types. If none of the parameters have required custom modifiers, specify null instead of an array of arrays.</param>
<paramname="parameterTypeOptionalCustomModifiers">An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no optional custom modifiers, specify null instead of an array of types. If none of the parameters have optional custom modifiers, specify null instead of an array of arrays.</param>
<exceptioncref="T:System.InvalidOperationException">The current method is generic, but is not a generic method definition. That is, the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethod"/> property is true, but the <seecref="P:System.Reflection.Emit.MethodBuilder.IsGenericMethodDefinition"/> property is false.</exception>
<summary>Returns this MethodBuilder instance as a string.</summary>
<returns>Returns a string containing the name, attributes, method signature, exceptions, and local signature of this method followed by the current Microsoft intermediate language (MSIL) stream.</returns>
<summary>Defines an enumeration type that is a value type with a single non-static field called <paramrefname="value__"/> of the specified type.</summary>
<returns>The defined enumeration.</returns>
<paramname="name">The full path of the enumeration type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="visibility">The type attributes for the enumeration. The attributes are any bits defined by <seecref="F:System.Reflection.TypeAttributes.VisibilityMask"/>. </param>
<paramname="underlyingType">The underlying type for the enumeration. This must be a built-in integer type. </param>
<exceptioncref="T:System.ArgumentException">Attributes other than visibility attributes are provided.-or- An enumeration with the given name exists in the parent assembly of this module.-or- The visibility attributes do not match the scope of the enumeration. For example, <seecref="F:System.Reflection.TypeAttributes.NestedPublic"/> is specified for <paramrefname="visibility"/>, but the enumeration is not a nested type. </exception>
<summary>Defines a global method with the specified name, attributes, calling convention, return type, and parameter types.</summary>
<returns>The defined global method.</returns>
<paramname="name">The name of the method. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the method. <paramrefname="attributes"/> must include <seecref="F:System.Reflection.MethodAttributes.Static"/>.</param>
<paramname="callingConvention">The calling convention for the method. </param>
<paramname="returnType">The return type of the method. </param>
<paramname="parameterTypes">The types of the method's parameters. </param>
<exceptioncref="T:System.ArgumentException">The method is not static. That is, <paramrefname="attributes"/> does not include <seecref="F:System.Reflection.MethodAttributes.Static"/>.-or-An element in the <seecref="T:System.Type"/> array is null.</exception>
<summary>Defines a global method with the specified name, attributes, calling convention, return type, custom modifiers for the return type, parameter types, and custom modifiers for the parameter types.</summary>
<returns>The defined global method.</returns>
<paramname="name">The name of the method. <paramrefname="name"/> cannot contain embedded null characters. </param>
<paramname="attributes">The attributes of the method. <paramrefname="attributes"/> must include <seecref="F:System.Reflection.MethodAttributes.Static"/>.</param>
<paramname="callingConvention">The calling convention for the method. </param>
<paramname="returnType">The return type of the method. </param>
<paramname="requiredReturnTypeCustomModifiers">An array of types representing the required custom modifiers for the return type, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/> or <seecref="T:System.Runtime.CompilerServices.IsBoxed"/>. If the return type has no required custom modifiers, specify null. </param>
<paramname="optionalReturnTypeCustomModifiers">An array of types representing the optional custom modifiers for the return type, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/> or <seecref="T:System.Runtime.CompilerServices.IsBoxed"/>. If the return type has no optional custom modifiers, specify null. </param>
<paramname="parameterTypes">The types of the method's parameters. </param>
<paramname="requiredParameterTypeCustomModifiers">An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter of the global method. If a particular argument has no required custom modifiers, specify null instead of an array of types. If the global method has no arguments, or if none of the arguments have required custom modifiers, specify null instead of an array of arrays.</param>
<paramname="optionalParameterTypeCustomModifiers">An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter. If a particular argument has no optional custom modifiers, specify null instead of an array of types. If the global method has no arguments, or if none of the arguments have optional custom modifiers, specify null instead of an array of arrays.</param>
<exceptioncref="T:System.ArgumentException">The method is not static. That is, <paramrefname="attributes"/> does not include <seecref="F:System.Reflection.MethodAttributes.Static"/>.-or-An element in the <seecref="T:System.Type"/> array is null.</exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The <seecref="M:System.Reflection.Emit.ModuleBuilder.CreateGlobalFunctions"/> method has been previously called. </exception>
<summary>Defines a global method with the specified name, attributes, return type, and parameter types.</summary>
<returns>The defined global method.</returns>
<paramname="name">The name of the method. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the method. <paramrefname="attributes"/> must include <seecref="F:System.Reflection.MethodAttributes.Static"/>. </param>
<paramname="returnType">The return type of the method. </param>
<paramname="parameterTypes">The types of the method's parameters. </param>
<exceptioncref="T:System.ArgumentException">The method is not static. That is, <paramrefname="attributes"/> does not include <seecref="F:System.Reflection.MethodAttributes.Static"/>.-or- The length of <paramrefname="name"/> is zero -or-An element in the <seecref="T:System.Type"/> array is null.</exception>
<summary>Defines an initialized data field in the .sdata section of the portable executable (PE) file.</summary>
<returns>A field to reference the data.</returns>
<paramname="name">The name used to refer to the data. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="data">The binary large object (BLOB) of data. </param>
<paramname="attributes">The attributes for the field. The default is Static. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero.-or- The size of <paramrefname="data"/> is less than or equal to zero or greater than or equal to 0x3f0000. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> or <paramrefname="data"/> is null. </exception>
<summary>Constructs a TypeBuilder for a private type with the specified name in this module. </summary>
<returns>A private type with the specified name.</returns>
<paramname="name">The full path of the type, including the namespace. <paramrefname="name"/> cannot contain embedded nulls. </param>
<exceptioncref="T:System.ArgumentException">A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. </exception>
<summary>Constructs a TypeBuilder given the type name and the type attributes.</summary>
<returns>A TypeBuilder created with all of the requested attributes.</returns>
<paramname="name">The full path of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the defined type. </param>
<exceptioncref="T:System.ArgumentException">A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. </exception>
<summary>Constructs a TypeBuilder given type name, its attributes, and the type that the defined type extends.</summary>
<returns>A TypeBuilder created with all of the requested attributes.</returns>
<paramname="name">The full path of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attribute to be associated with the type. </param>
<paramname="parent">The type that the defined type extends. </param>
<exceptioncref="T:System.ArgumentException">A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. </exception>
<summary>Constructs a TypeBuilder given the type name, the attributes, the type that the defined type extends, and the total size of the type.</summary>
<returns>A TypeBuilder object.</returns>
<paramname="name">The full path of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the defined type. </param>
<paramname="parent">The type that the defined type extends. </param>
<paramname="typesize">The total size of the type. </param>
<exceptioncref="T:System.ArgumentException">A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. </exception>
<summary>Constructs a TypeBuilder given the type name, the attributes, the type that the defined type extends, and the packing size of the type.</summary>
<returns>A TypeBuilder object.</returns>
<paramname="name">The full path of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the defined type. </param>
<paramname="parent">The type that the defined type extends. </param>
<paramname="packsize">The packing size of the type. </param>
<exceptioncref="T:System.ArgumentException">A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. </exception>
<summary>Constructs a TypeBuilder given the type name, attributes, the type that the defined type extends, the packing size of the defined type, and the total size of the defined type.</summary>
<returns>A TypeBuilder created with all of the requested attributes.</returns>
<paramname="name">The full path of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the defined type. </param>
<paramname="parent">The type that the defined type extends. </param>
<paramname="packingSize">The packing size of the type. </param>
<paramname="typesize">The total size of the type. </param>
<exceptioncref="T:System.ArgumentException">A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. </exception>
<summary>Constructs a TypeBuilder given the type name, attributes, the type that the defined type extends, and the interfaces that the defined type implements.</summary>
<returns>A TypeBuilder created with all of the requested attributes.</returns>
<paramname="name">The full path of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes to be associated with the type. </param>
<paramname="parent">The type that the defined type extends. </param>
<paramname="interfaces">The list of interfaces that the type implements. </param>
<exceptioncref="T:System.ArgumentException">A type with the given name exists in the parent assembly of this module.-or- Nested type attributes are set on a type that is not nested. </exception>
<summary>Defines an uninitialized data field in the .sdata section of the portable executable (PE) file.</summary>
<returns>A field to reference the data.</returns>
<paramname="name">The name used to refer to the data. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="size">The size of the data field. </param>
<paramname="attributes">The attributes for the field. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero.-or- <paramrefname="size"/> is less than or equal to zero, or greater than or equal to 0x003f0000. </exception>
<seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/> has been called on the enclosing type. </exception>
<exceptioncref="T:System.ArgumentException">The property is not one of the supported types.-or-The type of <paramrefname="defaultValue"/> does not match the type of the property.-or-The property is of type <seecref="T:System.Object"/> or other reference type, <paramrefname="defaultValue"/> is not null, and the value cannot be assigned to the reference type. </exception>
<summary>Set a custom attribute using a custom attribute builder.</summary>
<paramname="customBuilder">An instance of a helper class to define the custom attribute. </param>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="customBuilder"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">if <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/> has been called on the enclosing type. </exception>
<summary>Adds an interface that this type implements.</summary>
<paramname="interfaceType">The interface that this type implements. </param>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="interfaceType"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Gets the method that declared the current generic type parameter.</summary>
<returns>A <seecref="T:System.Reflection.MethodBase"/> that represents the method that declared the current type, if the current type is a generic type parameter; otherwise, null.</returns>
<summary>Adds a new constructor to the type, with the given attributes and signature.</summary>
<returns>The defined constructor.</returns>
<paramname="attributes">The attributes of the constructor. </param>
<paramname="callingConvention">The calling convention of the constructor. </param>
<paramname="parameterTypes">The parameter types of the constructor. </param>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Adds a new constructor to the type, with the given attributes, signature, and custom modifiers.</summary>
<returns>The defined constructor.</returns>
<paramname="attributes">The attributes of the constructor. </param>
<paramname="callingConvention">The calling convention of the constructor. </param>
<paramname="parameterTypes">The parameter types of the constructor. </param>
<paramname="requiredCustomModifiers">An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no required custom modifiers, specify null instead of an array of types. If none of the parameters have required custom modifiers, specify null instead of an array of arrays.</param>
<paramname="optionalCustomModifiers">An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no optional custom modifiers, specify null instead of an array of types. If none of the parameters have optional custom modifiers, specify null instead of an array of arrays.</param>
<exceptioncref="T:System.ArgumentException">The size of <paramrefname="requiredCustomModifiers"/> or <paramrefname="optionalCustomModifiers"/> does not equal the size of <paramrefname="parameterTypes"/>.</exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false.</exception>
<summary>Defines the default constructor. The constructor defined here will simply call the default constructor of the parent.</summary>
<returns>Returns the constructor.</returns>
<paramname="attributes">A MethodAttributes object representing the attributes to be applied to the constructor. </param>
<exceptioncref="T:System.NotSupportedException">The parent type (base type) does not have a default constructor. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false.</exception>
<summary>Adds a new event to the type, with the given name, attributes and event type.</summary>
<returns>The defined event.</returns>
<paramname="name">The name of the event. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the event. </param>
<paramname="eventtype">The type of the event. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null.-or- <paramrefname="eventtype"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Adds a new field to the type, with the given name, attributes, and field type.</summary>
<returns>The defined field.</returns>
<paramname="fieldName">The name of the field. <paramrefname="fieldName"/> cannot contain embedded nulls. </param>
<paramname="type">The type of the field </param>
<paramname="attributes">The attributes of the field. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="fieldName"/> is zero.-or- <paramrefname="type"/> is System.Void.-or- A total size was specified for the parent class of this field. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="fieldName"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.</exception>
<summary>Adds a new field to the type, with the given name, attributes, field type, and custom modifiers.</summary>
<returns>The defined field.</returns>
<paramname="fieldName">The name of the field. <paramrefname="fieldName"/> cannot contain embedded nulls. </param>
<paramname="type">The type of the field </param>
<paramname="requiredCustomModifiers">An array of types representing the required custom modifiers for the field, such as <seecref="T:Microsoft.VisualC.IsConstModifier"/>.</param>
<paramname="optionalCustomModifiers">An array of types representing the optional custom modifiers for the field, such as <seecref="T:Microsoft.VisualC.IsConstModifier"/>.</param>
<paramname="attributes">The attributes of the field. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="fieldName"/> is zero.-or- <paramrefname="type"/> is System.Void.-or- A total size was specified for the parent class of this field. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="fieldName"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Defines the generic type parameters for the current type, specifying their number and their names, and returns an array of <seecref="T:System.Reflection.Emit.GenericTypeParameterBuilder"/> objects that can be used to set their constraints.</summary>
<returns>An array of <seecref="T:System.Reflection.Emit.GenericTypeParameterBuilder"/> objects that can be used to define the constraints of the generic type parameters for the current type.</returns>
<paramname="names">An array of names for the generic type parameters.</param>
<exceptioncref="T:System.InvalidOperationException">Generic type parameters have already been defined for this type.</exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="names"/> is null.-or-An element of <paramrefname="names"/> is null.</exception>
<exceptioncref="T:System.ArgumentException">
<paramrefname="names"/> is an empty array.</exception>
<summary>Defines initialized data field in the .sdata section of the portable executable (PE) file.</summary>
<returns>A field to reference the data.</returns>
<paramname="name">The name used to refer to the data. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="data">The blob of data. </param>
<paramname="attributes">The attributes for the field. </param>
<exceptioncref="T:System.ArgumentException">Length of <paramrefname="name"/> is zero.-or- The size of the data is less than or equal to zero, or greater than or equal to 0x3f0000. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> or <paramrefname="data"/> is null. </exception>
<summary>Adds a new method to the type, with the specified name and method attributes.</summary>
<returns>A <seecref="T:System.Reflection.Emit.MethodBuilder"/> representing the newly defined method.</returns>
<paramname="name">The name of the method. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the method. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero.-or- The type of the parent of this method is an interface, and this method is not virtual (Overridable in Visual Basic). </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false. </exception>
<summary>Adds a new method to the type, with the specified name, method attributes, and calling convention.</summary>
<returns>A <seecref="T:System.Reflection.Emit.MethodBuilder"/> representing the newly defined method.</returns>
<paramname="name">The name of the method. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the method. </param>
<paramname="callingConvention">The calling convention of the method. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero.-or- The type of the parent of this method is an interface and this method is not virtual (Overridable in Visual Basic). </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false. </exception>
<summary>Adds a new method to the type, with the specified name, method attributes, calling convention, and method signature.</summary>
<returns>A <seecref="T:System.Reflection.Emit.MethodBuilder"/> representing the newly defined method.</returns>
<paramname="name">The name of the method. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the method. </param>
<paramname="callingConvention">The calling convention of the method. </param>
<paramname="returnType">The return type of the method. </param>
<paramname="parameterTypes">The types of the parameters of the method. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero.-or- The type of the parent of this method is an interface, and this method is not virtual (Overridable in Visual Basic). </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false. </exception>
<summary>Adds a new method to the type, with the specified name, method attributes, calling convention, method signature, and custom modifiers.</summary>
<returns>A <seecref="T:System.Reflection.Emit.MethodBuilder"/> object representing the newly added method.</returns>
<paramname="name">The name of the method. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the method. </param>
<paramname="callingConvention">The calling convention of the method. </param>
<paramname="returnType">The return type of the method. </param>
<paramname="returnTypeRequiredCustomModifiers">An array of types representing the required custom modifiers, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>, for the return type of the method. If the return type has no required custom modifiers, specify null.</param>
<paramname="returnTypeOptionalCustomModifiers">An array of types representing the optional custom modifiers, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>, for the return type of the method. If the return type has no optional custom modifiers, specify null.</param>
<paramname="parameterTypes">The types of the parameters of the method.</param>
<paramname="parameterTypeRequiredCustomModifiers">An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no required custom modifiers, specify null instead of an array of types. If none of the parameters have required custom modifiers, specify null instead of an array of arrays.</param>
<paramname="parameterTypeOptionalCustomModifiers">An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no optional custom modifiers, specify null instead of an array of types. If none of the parameters have optional custom modifiers, specify null instead of an array of arrays.</param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero.-or- The type of the parent of this method is an interface, and this method is not virtual (Overridable in Visual Basic). -or-The size of <paramrefname="parameterTypeRequiredCustomModifiers"/> or <paramrefname="parameterTypeOptionalCustomModifiers"/> does not equal the size of <paramrefname="parameterTypes"/>.</exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false.</exception>
<summary>Adds a new method to the type, with the specified name, method attributes, and method signature.</summary>
<returns>The defined method.</returns>
<paramname="name">The name of the method. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the method. </param>
<paramname="returnType">The return type of the method. </param>
<paramname="parameterTypes">The types of the parameters of the method. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero.-or- The type of the parent of this method is an interface, and this method is not virtual (Overridable in Visual Basic). </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false. </exception>
<summary>Specifies a given method body that implements a given method declaration, potentially with a different name.</summary>
<paramname="methodInfoBody">The method body to be used. This should be a MethodBuilder object. </param>
<paramname="methodInfoDeclaration">The method whose declaration is to be used. </param>
<exceptioncref="T:System.ArgumentException">
<paramrefname="methodInfoBody"/> does not belong to this class. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="methodInfoBody"/> or <paramrefname="methodInfoDeclaration"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or- The declaring type of <paramrefname="methodInfoBody"/> is not the type represented by this <seecref="T:System.Reflection.Emit.TypeBuilder"/>. </exception>
<summary>Defines a nested type, given its name.</summary>
<returns>The defined nested type.</returns>
<paramname="name">The short name of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<exceptioncref="T:System.ArgumentException">Length of <paramrefname="name"/> is zero or greater than 1023. -or-This operation would create a type with a duplicate <seecref="P:System.Reflection.Emit.TypeBuilder.FullName"/> in the current assembly.</exception>
<summary>Defines a nested type, given its name and attributes.</summary>
<returns>The defined nested type.</returns>
<paramname="name">The short name of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the type. </param>
<exceptioncref="T:System.ArgumentException">The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of <paramrefname="name"/> is zero or greater than 1023. -or-This operation would create a type with a duplicate <seecref="P:System.Reflection.Emit.TypeBuilder.FullName"/> in the current assembly.</exception>
<summary>Defines a nested type, given its name, attributes, and the type that it extends.</summary>
<returns>The defined nested type.</returns>
<paramname="name">The short name of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the type. </param>
<paramname="parent">The type that the nested type extends. </param>
<exceptioncref="T:System.ArgumentException">The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of <paramrefname="name"/> is zero or greater than 1023. -or-This operation would create a type with a duplicate <seecref="P:System.Reflection.Emit.TypeBuilder.FullName"/> in the current assembly.</exception>
<summary>Defines a nested type, given its name, attributes, the total size of the type, and the type that it extends.</summary>
<returns>The defined nested type.</returns>
<paramname="name">The short name of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the type. </param>
<paramname="parent">The type that the nested type extends. </param>
<paramname="typeSize">The total size of the type. </param>
<exceptioncref="T:System.ArgumentException">The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of <paramrefname="name"/> is zero or greater than 1023. -or-This operation would create a type with a duplicate <seecref="P:System.Reflection.Emit.TypeBuilder.FullName"/> in the current assembly.</exception>
<summary>Defines a nested type, given its name, attributes, the type that it extends, and the packing size.</summary>
<returns>The defined nested type.</returns>
<paramname="name">The short name of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the type. </param>
<paramname="parent">The type that the nested type extends. </param>
<paramname="packSize">The packing size of the type. </param>
<exceptioncref="T:System.ArgumentException">The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of <paramrefname="name"/> is zero or greater than 1023. -or-This operation would create a type with a duplicate <seecref="P:System.Reflection.Emit.TypeBuilder.FullName"/> in the current assembly.</exception>
<summary>Defines a nested type, given its name, attributes, the type that it extends, and the interfaces that it implements.</summary>
<returns>The defined nested type.</returns>
<paramname="name">The short name of the type. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attr">The attributes of the type. </param>
<paramname="parent">The type that the nested type extends. </param>
<paramname="interfaces">The interfaces that the nested type implements. </param>
<exceptioncref="T:System.ArgumentException">The nested attribute is not specified.-or- This type is sealed.-or- This type is an array.-or- This type is an interface, but the nested type is not an interface.-or- The length of <paramrefname="name"/> is zero or greater than 1023. -or-This operation would create a type with a duplicate <seecref="P:System.Reflection.Emit.TypeBuilder.FullName"/> in the current assembly.</exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null.-or-An element of the <paramrefname="interfaces"/> array is null.</exception>
<summary>Adds a new property to the type, with the given name, attributes, calling convention, and property signature.</summary>
<returns>The defined property.</returns>
<paramname="name">The name of the property. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the property. </param>
<paramname="callingConvention">The calling convention of the property accessors. </param>
<paramname="returnType">The return type of the property. </param>
<paramname="parameterTypes">The types of the parameters of the property.</param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. -or- Any of the elements of the <paramrefname="parameterTypes"/> array is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Adds a new property to the type, with the given name, calling convention, property signature, and custom modifiers.</summary>
<returns>The defined property.</returns>
<paramname="name">The name of the property. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the property. </param>
<paramname="callingConvention">The calling convention of the property accessors. </param>
<paramname="returnType">The return type of the property. </param>
<paramname="returnTypeRequiredCustomModifiers">An array of types representing the required custom modifiers, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>, for the return type of the property. If the return type has no required custom modifiers, specify null.</param>
<paramname="returnTypeOptionalCustomModifiers">An array of types representing the optional custom modifiers, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>, for the return type of the property. If the return type has no optional custom modifiers, specify null.</param>
<paramname="parameterTypes">The types of the parameters of the property. </param>
<paramname="parameterTypeRequiredCustomModifiers">An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no required custom modifiers, specify null instead of an array of types. If none of the parameters have required custom modifiers, specify null instead of an array of arrays.</param>
<paramname="parameterTypeOptionalCustomModifiers">An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no optional custom modifiers, specify null instead of an array of types. If none of the parameters have optional custom modifiers, specify null instead of an array of arrays.</param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. -or- Any of the elements of the <paramrefname="parameterTypes"/> array is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Adds a new property to the type, with the given name and property signature.</summary>
<returns>The defined property.</returns>
<paramname="name">The name of the property. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the property. </param>
<paramname="returnType">The return type of the property. </param>
<paramname="parameterTypes">The types of the parameters of the property. </param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. -or- Any of the elements of the <paramrefname="parameterTypes"/> array is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Adds a new property to the type, with the given name, property signature, and custom modifiers.</summary>
<returns>The defined property.</returns>
<paramname="name">The name of the property. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="attributes">The attributes of the property. </param>
<paramname="returnType">The return type of the property. </param>
<paramname="returnTypeRequiredCustomModifiers">An array of types representing the required custom modifiers, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>, for the return type of the property. If the return type has no required custom modifiers, specify null.</param>
<paramname="returnTypeOptionalCustomModifiers">An array of types representing the optional custom modifiers, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>, for the return type of the property. If the return type has no optional custom modifiers, specify null.</param>
<paramname="parameterTypes">The types of the parameters of the property. </param>
<paramname="parameterTypeRequiredCustomModifiers">An array of arrays of types. Each array of types represents the required custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no required custom modifiers, specify null instead of an array of types. If none of the parameters have required custom modifiers, specify null instead of an array of arrays.</param>
<paramname="parameterTypeOptionalCustomModifiers">An array of arrays of types. Each array of types represents the optional custom modifiers for the corresponding parameter, such as <seecref="T:System.Runtime.CompilerServices.IsConst"/>. If a particular parameter has no optional custom modifiers, specify null instead of an array of types. If none of the parameters have optional custom modifiers, specify null instead of an array of arrays.</param>
<exceptioncref="T:System.ArgumentException">The length of <paramrefname="name"/> is zero. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null-or- Any of the elements of the <paramrefname="parameterTypes"/> array is null</exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Defines the initializer for this type.</summary>
<returns>Returns a type initializer.</returns>
<exceptioncref="T:System.InvalidOperationException">The containing type has been previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Defines an uninitialized data field in the .sdata section of the portable executable (PE) file.</summary>
<returns>A field to reference the data.</returns>
<paramname="name">The name used to refer to the data. <paramrefname="name"/> cannot contain embedded nulls. </param>
<paramname="size">The size of the data field. </param>
<paramname="attributes">The attributes for the field. </param>
<exceptioncref="T:System.ArgumentException">Length of <paramrefname="name"/> is zero.-or- <paramrefname="size"/> is less than or equal to zero, or greater than or equal to 0x003f0000. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="name"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>. </exception>
<summary>Gets a value that indicates the covariance and special constraints of the current generic type parameter. </summary>
<returns>A bitwise combination of <seecref="T:System.Reflection.GenericParameterAttributes"/> values that describes the covariance and special constraints of the current generic type parameter.</returns>
<summary>Gets the position of a type parameter in the type parameter list of the generic type that declared the parameter.</summary>
<returns>If the current <seecref="T:System.Reflection.Emit.TypeBuilder"/> object represents a generic type parameter, the position of the type parameter in the type parameter list of the generic type that declared the parameter; otherwise, undefined.</returns>
<summary>Returns the constructor of the specified constructed generic type that corresponds to the specified constructor of the generic type definition. </summary>
<returns>A <seecref="T:System.Reflection.ConstructorInfo"/> object that represents the constructor of <paramrefname="type"/> corresponding to <paramrefname="constructor"/>, which specifies a constructor belonging to the generic type definition of <paramrefname="type"/>.</returns>
<paramname="type">The constructed generic type whose constructor is returned.</param>
<paramname="constructor">A constructor on the generic type definition of <paramrefname="type"/>, which specifies which constructor of <paramrefname="type"/> to return.</param>
<exceptioncref="T:System.ArgumentException">
<paramrefname="type"/> does not represent a generic type. -or-<paramrefname="type"/> is not of type <seecref="T:System.Reflection.Emit.TypeBuilder"/>.-or-The declaring type of <paramrefname="constructor"/> is not a generic type definition. -or-The declaring type of <paramrefname="constructor"/> is not the generic type definition of <paramrefname="type"/>.</exception>
<summary>Returns the field of the specified constructed generic type that corresponds to the specified field of the generic type definition. </summary>
<returns>A <seecref="T:System.Reflection.FieldInfo"/> object that represents the field of <paramrefname="type"/> corresponding to <paramrefname="field"/>, which specifies a field belonging to the generic type definition of <paramrefname="type"/>.</returns>
<paramname="type">The constructed generic type whose field is returned.</param>
<paramname="field">A field on the generic type definition of <paramrefname="type"/>, which specifies which field of <paramrefname="type"/> to return.</param>
<exceptioncref="T:System.ArgumentException">
<paramrefname="type"/> does not represent a generic type. -or-<paramrefname="type"/> is not of type <seecref="T:System.Reflection.Emit.TypeBuilder"/>.-or-The declaring type of <paramrefname="field"/> is not a generic type definition. -or-The declaring type of <paramrefname="field"/> is not the generic type definition of <paramrefname="type"/>.</exception>
<summary>Returns a <seecref="T:System.Type"/> object that represents a generic type definition from which the current type can be obtained.</summary>
<returns>A <seecref="T:System.Type"/> object representing a generic type definition from which the current type can be obtained.</returns>
<exceptioncref="T:System.InvalidOperationException">The current type is not generic. That is, <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> returns false.</exception>
<summary>Returns the method of the specified constructed generic type that corresponds to the specified method of the generic type definition. </summary>
<returns>A <seecref="T:System.Reflection.MethodInfo"/> object that represents the method of <paramrefname="type"/> corresponding to <paramrefname="method"/>, which specifies a method belonging to the generic type definition of <paramrefname="type"/>.</returns>
<paramname="type">The constructed generic type whose method is returned.</param>
<paramname="method">A method on the generic type definition of <paramrefname="type"/>, which specifies which method of <paramrefname="type"/> to return.</param>
<exceptioncref="T:System.ArgumentException">
<paramrefname="method"/> is a generic method that is not a generic method definition.-or-<paramrefname="type"/> does not represent a generic type.-or-<paramrefname="type"/> is not of type <seecref="T:System.Reflection.Emit.TypeBuilder"/>.-or-The declaring type of <paramrefname="method"/> is not a generic type definition. -or-The declaring type of <paramrefname="method"/> is not the generic type definition of <paramrefname="type"/>.</exception>
<summary>Gets a value indicating whether the current <seecref="T:System.Reflection.Emit.TypeBuilder"/> represents a generic type definition from which other generic types can be constructed.</summary>
<returns>true if this <seecref="T:System.Reflection.Emit.TypeBuilder"/> object represents a generic type definition; otherwise, false.</returns>
<summary>Returns a <seecref="T:System.Type"/> object that represents a one-dimensional array of the current type, with a lower bound of zero.</summary>
<returns>A <seecref="T:System.Type"/> object representing a one-dimensional array type whose element type is the current type, with a lower bound of zero.</returns>
<summary>Returns a <seecref="T:System.Type"/> object that represents the current type when passed as a ref parameter (ByRef in Visual Basic).</summary>
<returns>A <seecref="T:System.Type"/> object that represents the current type when passed as a ref parameter (ByRef in Visual Basic).</returns>
<summary>Substitutes the elements of an array of types for the type parameters of the current generic type definition, and returns the resulting constructed type.</summary>
<returns>A <seecref="T:System.Type"/> representing the constructed type formed by substituting the elements of <paramrefname="typeArguments"/> for the type parameters of the current generic type. </returns>
<paramname="typeArguments">An array of types to be substituted for the type parameters of the current generic type definition.</param>
<exceptioncref="T:System.InvalidOperationException">The current type does not represent the definition of a generic type. That is, <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> returns false. </exception>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="typeArguments"/> is null.-or- Any element of <paramrefname="typeArguments"/> is null. </exception>
<exceptioncref="T:System.ArgumentException">Any element of <paramrefname="typeArguments"/> does not satisfy the constraints specified for the corresponding type parameter of the current generic type. </exception>
<summary>Sets a custom attribute using a specified custom attribute blob.</summary>
<paramname="con">The constructor for the custom attribute. </param>
<paramname="binaryAttribute">A byte blob representing the attributes. </param>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="con"/> or <paramrefname="binaryAttribute"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false.</exception>
<summary>Set a custom attribute using a custom attribute builder.</summary>
<paramname="customBuilder">An instance of a helper class to define the custom attribute. </param>
<exceptioncref="T:System.ArgumentNullException">
<paramrefname="customBuilder"/> is null. </exception>
<exceptioncref="T:System.InvalidOperationException">For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false.</exception>
<summary>Sets the base type of the type currently under construction.</summary>
<paramname="parent">The new base type. </param>
<exceptioncref="T:System.InvalidOperationException">The type was previously created using <seecref="M:System.Reflection.Emit.TypeBuilder.CreateType"/>.-or-<paramrefname="parent"/> is null, and the current instance represents an interface whose attributes do not include <seecref="F:System.Reflection.TypeAttributes.Abstract"/>.-or-For the current dynamic type, the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericType"/> property is true, but the <seecref="P:System.Reflection.Emit.TypeBuilder.IsGenericTypeDefinition"/> property is false. </exception>
<exceptioncref="T:System.ArgumentException">
<paramrefname="parent"/> is an interface. This exception condition is new in the .NET Framework version 2.0. </exception>