考虑这个课程:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Game.Items
{
class Item
{
private string name;
public string Name
{
get { return this.name; }
}
private string description;
public string Description
{
get { return this.description; }
}
public Item(string name, string description)
{
this.name = name;
this.description = description;
}
public override string ToString()
{
return this.name;
}
}
}
然后我创建一个像这样的新对象:
Item item1 = new Item("Item1", "Description...");
现在问题是,我无法使用getter方法访问对象的属性,即这不起作用:
Console.WriteLine(item1.Name);
Console.WriteLine(item1.Description);
Console.ReadLine();
通过“不工作”我的意思是当我点击“开始调试”时,控制台窗口出现但没有任何东西,它是空白的。但是,这很好用:
Console.WriteLine(item1); // ToString()
Console.ReadLine();
我做错了什么?
理查德
答案 0 :(得分:3)
对我来说很好:
using System;
namespace Application
{
class Test
{
static void Main()
{
Item item1 = new Item("Item1", "Description...");
Console.WriteLine(item1.Name);
Console.WriteLine(item1.Description);
}
}
}
(还有你的班级。)
当你说“这不起作用”时究竟出了什么问题?
答案 1 :(得分:0)
您是否在与包含“项目”的项目不同的项目中使用Main类?如果是的话,那么
将您的Item类标记为公开
public class Item {
// your code
}
或者您可以尝试以这种方式访问以查看问题与命名空间是否相关
Console.WriteLine(Application.item1.Name);
Console.WriteLine(Application.item1.Description);
此外,在执行后暂停一下,否则你的控制台窗口将不会显示任何内容
Console.ReadLine();
同时检查using子句,根据最后的注释,您必须在文件顶部使用using子句来尝试使用Item类
using Game;