2009-07-29 8 views
0

J'ai écrit le code suivant, mais je veux m'assurer qu'une propriété peut protéger la valeur d'origine des variables m_id et m_name. Est-il possible d'afficher ces deux variables dans la console? Merci!Afficher une variable d'une classe dans la console?

using System; 

public class Customer 
{ 
    private int m_id = -1; 

    public int GetID() 
    { 
     return m_id; 
    } 

    public void SetID(int id) 
    { 
     m_id = id; 
    } 

    private string m_name = string.Empty; 

    public string GetName() 
    { 
     return m_name; 
    } 

    public void SetName(string name) 
    { 
     m_name = name; 
    } 
} 

public class CustomerManagerWithAccessorMethods { 
    public static void Main() 
    { 
     Customer cust = new Customer(); 

     cust.SetID(1); 
     cust.SetName("Amelio Rosales"); 

     Console.WriteLine(
      "ID: {0}, Name: {1}", 
      cust.GetID(), 
      cust.GetName()); 

     Console.ReadKey(); 
    } } 
+1

Je ne comprends pas la question du tout. Le code fonctionne bien comme il est, et je ne vois pas de problème avec cela (à part les styles nits). Vous n'avez pas non plus de propriétés ici, juste un tas de champs privés et de méthodes publiques qui les exposent (ce qui n'est pas la même chose qu'une propriété .NET/C#). Et je ne comprends pas ce que vous entendez par "assurez-vous qu'une propriété peut protéger la valeur d'origine". S'il vous plaît, expliquez. –

Répondre

1

Il semble à moi comme vous déjà le faire (même si idiomatiques C# utiliserait propriétés au lieu de méthodes). Que voulez-vous dire par «protéger» la valeur d'origine de m_id et de m_name?

2

Changer votre définition de classe si vous voulez utiliser les propriétés: (?)

public class Customer 
{ 
    public string Name { get; set; } 
    public string Id { get; set; }  
} 

puis il suffit de modifier le code ... qui est déjà l'impression des valeurs à la console.

Console.WriteLine("ID: {0}, Name: {1}", cust.Id, cust.Name); 
Questions connexes