0

次の 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. メソッドに無効な引数があります。

どうしてこれなの?

4

2 に答える 2

3

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、現在のコンテキストに存在しないことです。

于 2013-05-03T10:53:49.743 に答える
1

main() で Innovator インスタンスを宣言する必要があります。

Innovator inn = new Innovator();

于 2013-05-03T10:54:47.693 に答える