如何在Main()中使用方法's(其参数已通过ref传递)返回值

本文关键字:参数 已通过 返回值 ref 传递 Main 使用方法 | 更新日期: 2023-09-27 18:11:53

我有以下c#代码:

public class Test 
{ 
    public string Docs(ref Innovator inn) ///Innovator is an Object defined in the   framework of the application
    {  
        //// some code 
        string file_name = "filename";
        return file_name;
    }  
    public static void Main ()/// here I' m trying to use the above method' s return value inside main()
    {
         Test t = new Test();
         string file_name1 = t.Docs(ref inn); 
    }
}

这个示例代码抛出一些错误。

  1. 'inn'在当前上下文中不存在,
  2. 方法有一些无效参数。

为什么会这样?

如何在Main()中使用方法's(其参数已通过ref传递)返回值

1: 'inn'在当前上下文中不存在,

您没有在代码的任何地方定义inn。它应该是这样的:

Test t = new Test();
Innovater inn = new Innovator(); //declare and (instantiate)
string file_name1 = t.Docs(ref inn); 

或者您可以从框架中获得inn,例如:

Innovater inn = GetInnovaterFromTheFramework();

方法GetInnovaterFromTheFramework将从框架返回对象。

您将参数传递给ref关键字参数的方式是正确的,唯一的事情是inn在当前上下文中不存在。

你需要在main()中声明一个Innovator实例:

Innovator inn = new Innovator();