Здравствуйте, maloi_alex,
Речь несколько об ином. После вызова
int k=0;
new Test().Proc(ref k, ref k);
k будет иметь значение 2 — поскольку параметр передается по ссылке.
После
int k = 0;
object[] args = new object[] { k, k };
typeof(Test).GetMethod("Proc").Invoke(new Test(), args);
k = (int)(args[0])
k будет иметь значение 1.
А надо, чтобы вызов через рефлексию дал тот же результат, что и "прямой" вызов метода.