Considérez cette classe:C# Console Problème
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;
}
}
}
Je crée alors un nouvel objet comme celui-ci:
Item item1 = new Item("Item1", "Description...");
Maintenant, le problème, je ne peux pas accéder aux propriétés de l'objet avec la méthode getter, à savoir cela ne fonctionne pas:
Console.WriteLine(item1.Name);
Console.WriteLine(item1.Description);
Console.ReadLine();
par « ne fonctionne pas » je veux dire quand je clique sur « Démarrer le débogage », la fenêtre de la console apparaît, mais rien g est là, c'est vide. Cependant, cela fonctionne très bien:
Console.WriteLine(item1); // ToString()
Console.ReadLine();
Qu'est-ce que je fais mal?
Richard
Si vous n'avez pas, essayez d'installer l'essai gratuit de 30 jours de ReSharper - il détecte et offre de fixer de nombreuses choses comme les problèmes d'espace de noms, les problèmes de protection et autres joyeusetés ... ainsi que suggérer bonnes conventions de nommage - bon matériel d'apprentissage. –
Quand vous dites "ça ne marche pas", que voulez-vous dire? Erreur de compilateur? Erreur d'exécution? Résultat incorrect? Crashing? –
La nouvelle ligne est-elle imprimée ou rien du tout? Que diriez-vous du 'Console.ReadLine'? Est-ce que ça marche? –