首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将参数作为反射传入/传出?- visual studio extensibility c#

如何将参数作为反射传入/传出?- visual studio extensibility c#
EN

Stack Overflow用户
提问于 2010-09-06 23:13:02
回答 1查看 3.1K关注 0票数 4

我有一个out参数。是否可以将其作为反射进行传输?你能给我一些如何做到这一点的例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-06 23:18:28

我不确定这与VS的可扩展性有什么关系,但是可以通过反射调用一个带有out参数的方法,然后找出out参数的值:

代码语言:javascript
复制
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也是如此。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3652503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档