2014-02-07 3 views
0

Итак, у меня есть ученик класса, и я создал ссылочную переменную, указывающую на объект класса student.I хочу получить имя ссылочной переменной в моем коде. Мне нужно o/p как Гарри (это моя ссылочная переменная). Возможно ли это? неПолучение имени ссылочной переменной

Код:

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 

     namespace ConsoleApplication1 
     { 
      class Program 
      { 
       static void Main(string[] args) 
       { 
        student harry = new student(); 
        //OUTPUT:harry 
       } 
      } 

      public class student { } 
     } 
+3

Добавить 'public' в определение поля – Grundy

+0

Вы хотите, чтобы имя учащегося или имя переменной было объявлено в коде. –

+2

В качестве бокового узла, пожалуйста, найдите время, чтобы ознакомиться с соглашениями C#. Например, ваше имя класса должно быть записано в PascalCase. Это облегчит для всех, если вы последуете за ними, и их легче подобрать, когда вы изучаете язык. –

ответ

1

Нет там не способ сделать это. Вы можете получить доступ только к данным, хранящимся в классе.

Что вы можете сделать, это сравнить ссылки, например.

if(otherStudent == student) { } 

В этом случае вы проверить погоду переменной otherStudent указывает на тот же объект, как переменной student указывает.

1

Лучше использовать общественное свойство, чем поля и и сделать это так:

//Class 

public class Student { public string Name { get; set; }} 

//Instantiate class method 1: 

Student harry = new Student() {Name = "Harry"}; 

//Instantiate class method 2: 

Student harry = new Student(); 
harry.Name="Harry"; 


//get property output: 


Console.WriteLine(harry.Name); 
+0

вы используете 'свойство' вместо поля :-) – Grundy

+0

Да. Сделал это нарочно :). Думаю, лучше, но он может выбирать. Динамика одна и та же –

+0

Вы также сменили поле на объект –

Смежные вопросы