C#控制台问题
以这一类为例:C#控制台问题,c#,.net,visual-studio-2008,console,getter,C#,.net,Visual Studio 2008,Console,Getter,以这一类为例: 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; }
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();
我做错了什么
理查德对我来说很好:
using System;
namespace Application
{
class Test
{
static void Main()
{
Item item1 = new Item("Item1", "Description...");
Console.WriteLine(item1.Name);
Console.WriteLine(item1.Description);
}
}
}
(你的班级也在那里。)
当你说“这不起作用”时,到底出了什么问题?你在一个与包含“Item”的项目不同的项目中使用你的主类吗?如果是,那么
- 参考其他项目
- 将项目类标记为公共
public class Item { // your code }
Console.WriteLine(Application.item1.Name);
Console.WriteLine(Application.item1.Description);
此外,在执行后暂停,否则控制台窗口将不显示任何内容
Console.ReadLine();
还要检查using子句,根据最后的注释,您必须在试图使用Item类的文件顶部使用using子句
using Game;
关于我能想到的唯一一件事,如果在项目名称空间之外使用,则将类本身声明为公共的……嗯,当我单击“开始调试”时,控制台窗口出现,但它是空的。什么都没有。两个命令:Console.WriteLine(item1.Name);控制台写入线(项目1.说明);他们什么也不做。仅此项有效(ToString()):Console.WriteLine(item1);请将此信息添加到您的问题中(或者我猜有足够代表性的人迟早会这样做;(同时尝试包括实际使用的代码和类/文件/命名空间结构)鉴于我上面的简短但完整的程序运行良好,听起来你在做一些奇怪的事情-请发布一个简短但完整的程序,显示这种奇怪的行为。如果你没有,请尝试安装30天免费试用的Resharper-它将检测并修复许多问题,如名称空间问题、保护问题等等ot…以及建议良好的命名约定-良好的学习材料。当你说“这不起作用”时,你的确切意思是什么?编译器错误?运行时错误?结果不正确?崩溃?换行符打印出来了吗?控制台怎么样?
ReadLine
?它工作吗?请粘贴一个演示问题的完整程序,换句话说,将所有内容放在一个文件中,删除演示时不需要的所有内容问题,验证您仍然存在问题,然后将其粘贴到此处。建议关闭asn“不再相关”,因为他有一个答案,这是针对他完整的问题(他没有发布)的,没有人会遇到相同的问题。此外,主题行不好。我可能必须更改我的答案“十大最差主题行”至“二十大最差主题行”。