Frage

Betrachten Sie diese Methode Signatur:

public static void WriteLine(string input, params object[] myObjects)
{
    // Do stuff.
}

Wie kann ich, dass die Writeline-Methode der „MyObjects“ bestimmen pararameter das Schlüsselwort params verwendet und variable Argumente?

War es hilfreich?

Lösung

Überprüfen Sie für die Existenz von [ParamArrayAttribute] auf sie.

Der Parameter mit params wird immer der letzte Parameter sein.

Andere Tipps

Überprüfen Sie die Parameterinfo , wenn ParamArrayAttribute wurde auf sie angewendet:

static bool IsParams(ParameterInfo param)
{
    return param.GetCustomAttributes(typeof (ParamArrayAttribute), false).Length > 0;
}

Eine etwas kürzer und lesbare Weise:

static bool IsParams(ParameterInfo param)
{
    return param.IsDefined(typeof(ParamArrayAttribute), false);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top