繁体   English   中英

如何在C#中使用从METHOD.INVOKE返回的OUT参数值

[英]How to use OUT parameter values returned from METHOD.INVOKE in C#

我正在使用C#2.0,

我正在尝试调用我的网络服务的webmethod,请参见以下代码示例:

    try
    {

        Type objtype = Type.GetType(crisresult.ToString());
        object obj = Activator.CreateInstance(objtype);

        Object[] mArgs = new Object[methodArgs.Length + 1];
        methodArgs.CopyTo(mArgs, 0);
        mArgs.SetValue(obj, methodArgs.Length);
        methodArgs = mArgs;

        Object result = mi.Invoke(service, methodArgs);

        JObject parsed = JObject.Parse(result.ToString());

        // option 1) if you are just using primitives
        foreach ( KeyValuePair<string, JToken> pair in parsed)
        {
            Console.WriteLine("{0}: {1}", pair.Key, pair.Value);
        }      
    }

现在在上面的代码中,我的methodArgs对象数组中有一个out参数(crisresult),以防万一从我的Web服务方法返回任何错误Object result = mi.Invoke(service, methodArgs); 显示在我的out参数中,我确定我的out参数是methodArgs对象数组中的最后一个对象,我希望获取该对象并检查从Web服务返回的错误结果。

请提出建议!

您的methodArgs已更新,可以说明所有ref / out参数。 由于您相信这是最后一个:

object foo = methodArgs[methodArgs.Length-1];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM