【发布时间】:2014-12-10 00:28:24
【问题描述】:
我正在尝试从另一种方法 (Main()) 调用在一种方法 (ObjectInstantiation()) 中实例化的对象的方法。我归结为:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public static void ObjectInstantiation()
{
TestClass testClass1 = new TestClass(6);
TestClass testClass2 = new TestClass(7);
}
static void Main()
{
ObjectInstantiation();
testClass1.PrintNumber();
Console.ReadLine();
}
}
class TestClass
{
int number;
public TestClass(int i)
{
number = i;
}
public void PrintNumber()
{
Console.WriteLine(number);
}
}
}
这会引发错误“当前上下文中不存在名称‘testClass1’”
我知道我可以从Main() 中实例化它们,但我还需要从第三种方法中访问对象的方法,与ObjectInstantiation() 和Main() 分开,所以我又遇到了同样的问题。
我应该补充一点,类的多个实例很重要,因为每个实例将存储不同的值。
【问题讨论】:
-
一旦 ObjectInstantiation() 方法返回,testClass1 和 testClass2 就会超出范围。
-
你应该研究变量范围。
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# .net oop methods instantiation