Cette documentation est archivée et n’est pas conservée.

TypeBuilder.DefineMethod, méthode (String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][])

Remarque : cette méthode est nouvelle dans le .NET Framework version 2.0.

Ajoute une nouvelle méthode au type avec le nom, les attributs de méthode, la convention d'appel, la signature de méthode et les modificateurs personnalisés spécifiés.

Espace de noms : System.Reflection.Emit
Assembly : mscorlib (dans mscorlib.dll)

public MethodBuilder DefineMethod (
	string name,
	MethodAttributes attributes,
	CallingConventions callingConvention,
	Type returnType,
	Type[] returnTypeRequiredCustomModifiers,
	Type[] returnTypeOptionalCustomModifiers,
	Type[] parameterTypes,
	Type[][] parameterTypeRequiredCustomModifiers,
	Type[][] parameterTypeOptionalCustomModifiers
)
public MethodBuilder DefineMethod (
	String name, 
	MethodAttributes attributes, 
	CallingConventions callingConvention, 
	Type returnType, 
	Type[] returnTypeRequiredCustomModifiers, 
	Type[] returnTypeOptionalCustomModifiers, 
	Type[] parameterTypes, 
	Type[][] parameterTypeRequiredCustomModifiers, 
	Type[][] parameterTypeOptionalCustomModifiers
)
public function DefineMethod (
	name : String, 
	attributes : MethodAttributes, 
	callingConvention : CallingConventions, 
	returnType : Type, 
	returnTypeRequiredCustomModifiers : Type[], 
	returnTypeOptionalCustomModifiers : Type[], 
	parameterTypes : Type[], 
	parameterTypeRequiredCustomModifiers : Type[][], 
	parameterTypeOptionalCustomModifiers : Type[][]
) : MethodBuilder

Paramètres

name

Nom de la méthode. name ne peut pas contenir de valeurs null incorporées.

attributes

Attributs de la méthode.

callingConvention

Convention d'appel de la méthode.

returnType

Type de retour de la méthode.

returnTypeRequiredCustomModifiers

Tableau de types représentant les modificateurs personnalisés requis, tels que IsConst, pour le type de retour de la méthode. Si le type de retour ne possède pas de modificateur personnalisé requis, spécifiez référence Null (Nothing en Visual Basic).

returnTypeOptionalCustomModifiers

Tableau de types représentant les modificateurs personnalisés facultatifs, tels que IsConst, pour le type de retour de la méthode. Si le type de retour ne possède pas de modificateur personnalisé requis, spécifiez référence Null (Nothing en Visual Basic).

parameterTypes

Types des paramètres de la méthode.

parameterTypeRequiredCustomModifiers

Tableau de types. Chaque tableau de types représente les modificateurs personnalisés requis pour le paramètre correspondant, tels que IsConst. Si un paramètre particulier ne possède pas de modificateur personnalisé requis, spécifiez référence Null (Nothing en Visual Basic) plutôt qu'un tableau de types. Si aucun des paramètres ne possède de modificateur personnalisé requis, spécifiez référence Null (Nothing en Visual Basic) plutôt qu'un tableau de tableaux.

parameterTypeOptionalCustomModifiers

Tableau de types. Chaque tableau de types représente les modificateurs personnalisés facultatifs pour le paramètre correspondant, tels que IsConst. Si un paramètre particulier ne possède pas de modificateur personnalisé facultatif, spécifiez référence Null (Nothing en Visual Basic) plutôt qu'un tableau de types. Si aucun des paramètres ne possède de modificateur personnalisé facultatif, spécifiez référence Null (Nothing en Visual Basic) plutôt qu'un tableau de tableaux.

Valeur de retour

Objet MethodBuilder représentant la méthode que vous venez d'ajouter.

Type d'exceptionCondition

ArgumentException

La longueur de name est égale à zéro.

- ou -

Le type du parent de cette méthode est une interface et cette méthode n'est pas virtuelle (Overridable en Visual Basic).

- ou -

La taille de parameterTypeRequiredCustomModifiers ou de parameterTypeOptionalCustomModifiers n'est pas égale à la taille de parameterTypes.

ArgumentNullException

name est référence Null (Nothing en Visual Basic).

InvalidOperationException

Le type a été créé au préalable à l'aide de CreateType.

- ou -

Pour le type dynamique en cours, la propriété IsGenericType a la valeur true, mais la propriété IsGenericTypeDefinition a la valeur false.

Utilisez cette surcharge si vous devez spécifier des modificateurs personnalisés. Si vous devez spécifier des modificateurs personnalisés après la création de la méthode, par exemple avec une méthode générique dont les types de paramètres sont spécifiés par ses paramètres de type générique, vous pouvez utiliser la méthode DefineMethod(String,MethodAttributes) ou DefineMethod(String,MethodAttributes,CallingConventions) surcharge pour définir la méthode et puis utiliser la méthode MethodBuilder.SetSignature pour définir les types de paramètres et de retour avec les modificateurs personnalisés.

RemarqueRemarque

Pour plus d'informations sur les modificateurs personnalisés, consultez la documentation sur les métadonnées d'ECMA Partition II. La documentation Partition II est disponible en ligne à l'adresse http://msdn.microsoft.com/net/ecma/ et http://www.ecma-international.org/publications/standards/Ecma-335.htm.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0
Afficher: