MethodBuilder.SetParameters(Type[]) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Beállítja egy metódus paramétereinek számát és típusait.
public:
void SetParameters(... cli::array <Type ^> ^ parameterTypes);
public void SetParameters(params Type[] parameterTypes);
member this.SetParameters : Type[] -> unit
Public Sub SetParameters (ParamArray parameterTypes As Type())
Paraméterek
Kivételek
A jelenlegi metódus általános, de nem általános metódusdefiníció. Vagyis a IsGenericMethod tulajdonság az true, de a IsGenericMethodDefinition tulajdonság az false.
Példák
Az alábbi példakód a metódus általánossá alakításához használja a DefineGenericParameters metódust. A SetParameters metódus egy paraméter megadására szolgál, amelynek típusát az első általános típusparaméter határozza meg. A SetReturnType metódus egy visszatérési típus megadására szolgál, amelyet a második általános típusparaméter határoz meg.
Ez a kód a metódushoz DefineGenericParameters megadott nagyobb példa része.
// Defining generic parameters for the method makes it a
// generic method. By convention, type parameters are
// single alphabetic characters. T and U are used here.
//
string[] typeParamNames = {"T", "U"};
GenericTypeParameterBuilder[] typeParameters =
demoMethod.DefineGenericParameters(typeParamNames);
// The second type parameter is constrained to be a
// reference type.
typeParameters[1].SetGenericParameterAttributes(
GenericParameterAttributes.ReferenceTypeConstraint);
' Defining generic parameters for the method makes it a
' generic method. By convention, type parameters are
' single alphabetic characters. T and U are used here.
'
Dim typeParamNames() As String = {"T", "U"}
Dim typeParameters() As GenericTypeParameterBuilder = _
demoMethod.DefineGenericParameters(typeParamNames)
' The second type parameter is constrained to be a
' reference type.
typeParameters(1).SetGenericParameterAttributes( _
GenericParameterAttributes.ReferenceTypeConstraint)
// Set parameter types for the method. The method takes
// one parameter, and its type is specified by the first
// type parameter, T.
Type[] parms = {typeParameters[0]};
demoMethod.SetParameters(parms);
// Set the return type for the method. The return type is
// specified by the second type parameter, U.
demoMethod.SetReturnType(typeParameters[1]);
' Set parameter types for the method. The method takes
' one parameter, and its type is specified by the first
' type parameter, T.
Dim params() As Type = {typeParameters(0)}
demoMethod.SetParameters(params)
' Set the return type for the method. The return type is
' specified by the second type parameter, U.
demoMethod.SetReturnType(typeParameters(1))
Megjegyzések
Ha a paraméterek száma és típusai a metódus meghatározásakor ismertek, akkor a paramétertípusok tömbjének elfogadására használt metódus bármilyen túlterhelésével TypeBuilder.DefineMethod beállíthatók. Az általános metódusok azonban olyan paraméterekkel is rendelkezhetnek, amelyek típusait egy vagy több saját általános típusparaméter határozza meg, amelyek csak a metódus definiálása után határozhatók meg. Ezzel a módszerrel állíthatja be a paramétertípusokat ebben az esetben.
Ha a visszatérési típus választható vagy kötelező egyéni módosítókkal rendelkezik, például IsConst, használja a metódus túlterhelését SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][]) .
A metódus meghívása lecseréli a metódussal TypeBuilder.DefineMethod beállított paramétertípusokat.