c# - 无法在单独的方法c#中访问类方法,名称item1在当前上下文中不存在
问题描述
试图使用一个类方法,该类的一个实例在一个单独的方法中。使用方法 RandomItem() 来构建类 Item 的实例。使用 ViewItem() 显示项目,它说:
"The name 'item1' does not exist in this context"
这是我的代码:
class Program
{
public class Item
{
public string part1;
public Item(string _part1)
{
part1 = _part1;
}
public void PrintItem()
{
Console.WriteLine(part1);
}
}
public static void Main()
{
RandomItem();
ViewItem();
}
public static void RandomItem() {
string randomPart1 ="";
Item item1 = new Item(randomPart1);
}
public static void ViewItem() {
item1.PrintItem(); //this is where the error is "The name 'item1' does not exist in the current context
}
}
}
对 c# 来说有点新,只是不知道为什么我不能访问 item1.PrintItem(),或者我什至被允许这样做。任何帮助将非常感激。
解决方案
如果变量是本地变量,则需要return
它以便调用者可以访问它。然后你需要将它作为参数传递给另一个方法来访问它。
public static void Main()
{
var item = RandomItem(); //Retrieve item
ViewItem(item); //Then pass it in
}
public static Item RandomItem() {
string randomPart1 ="";
Item item1 = new Item(randomPart1);
return item1; //Return the item to Main
}
public static void ViewItem(Item item1) { //Accept item as argument from Main
item1.PrintItem();
}
还有其他选项——例如,您可以使用静态变量——但这是最常见的方法。