Я не уверен, что это имеет отношение к расширяемости VS, но, безусловно, возможно вызвать метод с параметром out
по отражению и узнать значение параметра out
впоследствии:
using System;
using System.Reflection;
class Test
{
static void Main()
{
MethodInfo method = typeof(int).GetMethod
("TryParse", new Type[] { typeof(string),
typeof(int).MakeByRefType() });
// Second value here will be ignored, but make sure it's the right type
object[] args = new object[] { "10", 0 };
object result = method.Invoke(null, args);
Console.WriteLine("Result: {0}", result);
Console.WriteLine("args[1]: {0}", args[1]);
}
}
Обратите внимание, как вам нужно сохранить ссылку на массив, используемый для передачи аргументов в метод - именно так вы потом получаете значение параметра out
.То же самое верно для ref
.