我正在尝试为我的简单应用程序创建菜单。我想使用开关,但我找不到在应用程序启动时实例化的实例类中调用函数的方法。调用函数还没有实例化的对象C#
class Window
{
public void startLibrary(int sizeX, int sizeY)
{
BookList MainLibrary = new BookList();
this.mainMenu();
}
public void mainMenu()
{
string userChoice = Console.ReadLine();
switch (userChoice)
{
case "1":
break;
我怎么叫MainLibrary在情况1.功能这显然不是在这里实例化,但我不能找到一种方法,通过引用uninstanced对象。
书目代码:
class BookList
{
List<Book> books = new List<Book>();
public void addBook() // adding book
{
string name = Console.ReadLine();
string author = Console.ReadLine();
int relDate = int.Parse(Console.ReadLine());
int uID = books.Count() + 1;
books.Add(new Book(name, author, relDate, uID));
}
public void deleteBook() // deleting book
{
int readForDelete = int.Parse(Console.ReadLine());
books.RemoveAll(Book => Book.UniqueID == readForDelete);
}
public void borrowBook() // borrowing book
{
int readForBorrow = int.Parse(Console.ReadLine());
foreach (Book Book in books)
{
if (Book.UniqueID == readForBorrow)
Book.available = false;
}
}
public void returnBook() // returning book
{
int readForReturn = int.Parse(Console.ReadLine());
foreach (Book Book in books)
{
if (Book.UniqueID == readForReturn)
Book.available = true;
}
}
public void displayBooks() // displaying list of books
{
string isAvailable;
foreach (Book Book in books)
{
if (Book.available == true)
isAvailable = "available";
else
isAvailable = "unavailable";
Console.WriteLine(" {0} {1} {2} {3} {4} ", Book.UniqueID, Book.BookName, Book.BookName, Book.ReleaseDate, isAvailable);
}
}
public string Name
{
get; set;
}
}
}
我不确定我是否理解问题,但也许您可以将参考作为参数传递给mainMenu函数。 –
您无法传递不存在的内容的引用。引用是对象实例。 –