Cómo invocar métodos con parámetros ref / out utilizando la reflexión.

Imagina que tengo la siguiente clase:

class Cow { public static bool TryParse(string s, out Cow cow) { ... } } 

¿Es posible llamar a TryParse través de la reflexión? Sé lo básico:

 var type = typeof(Cow); var tryParse = type.GetMethod("TryParse"); var toParse = "..."; var result = (bool)tryParse.Invoke(null, /* what are the args? */); 

Puedes hacer algo como esto:

 static void Main(string[] args) { var method = typeof (Cow).GetMethod("TryParse"); var cow = new Cow(); var inputParams = new object[] {"cow string", cow}; method.Invoke(null, inputParams); } class Cow { public static bool TryParse(string s, out Cow cow) { cow = null; Console.WriteLine("TryParse is called!"); return false; } }