C#中如何访问私有成员变量?
How to access private member variables in C#?
我正在尝试访问成员变量名称,我将其设置为私有成员变量,以显示为输出。请不要担心为什么我将成员变量 Name 设置为私有。仅供练习之用。
基本上我的输出是在 shell 上显示一个名字。
My name is Sora
或
My name is Xehanort
现在代码显示
My name is [BLANK]
我想知道这两种方法。第一个是通过用户输入,第二个是角色名称存储在程序变量中。
现在我知道如何用两种方式来做,但那是当我的成员变量是 public 但不是私有的时候。我想以私人方式进行,但我很难过。
到目前为止,这些是我的代码。第一个是角色 class...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp_Practice
{
class Character
{
private string Name;
private int Age;
private char Gender;
private float Height { get; set; }
private float Weight { get; set; }
private string Nationality { get; set; }
private string Appearance { get; set; }
//SET AND GET NAME
public void setName(string name)
{
this.Name = name;
}
public string getName()
{
return Name;
}
//SET AND GET AGE
public void setAge(int age)
{
this.Age = age;
}
public int getAge()
{
return Age;
}
}
}
...第二个是主程序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp_Practice
{
class Program
{
static void Main(string[] args)
{
Character Hero = new Character();
Character Villain = new Character();
//List of Heroes
Hero.getName();
// Hero.Name = "Sora";
// Hero.Age = 19;
// Villain.Name = "Xehanort";
// Villain.Age = 79;
Console.WriteLine("My name is " + Hero.getName());
}
}
}
请告诉我该怎么做,或者如果不可能,请告诉我原因。我很感激。
如果您有一个 string
值和您希望设置的名称,您应该能够使用 Hero.setName(value)
而不是 Hero.Name = value
。
这适用于控制台输入和硬编码变量。
我正在尝试访问成员变量名称,我将其设置为私有成员变量,以显示为输出。请不要担心为什么我将成员变量 Name 设置为私有。仅供练习之用。
基本上我的输出是在 shell 上显示一个名字。
My name is Sora
或
My name is Xehanort
现在代码显示
My name is [BLANK]
我想知道这两种方法。第一个是通过用户输入,第二个是角色名称存储在程序变量中。 现在我知道如何用两种方式来做,但那是当我的成员变量是 public 但不是私有的时候。我想以私人方式进行,但我很难过。
到目前为止,这些是我的代码。第一个是角色 class...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp_Practice
{
class Character
{
private string Name;
private int Age;
private char Gender;
private float Height { get; set; }
private float Weight { get; set; }
private string Nationality { get; set; }
private string Appearance { get; set; }
//SET AND GET NAME
public void setName(string name)
{
this.Name = name;
}
public string getName()
{
return Name;
}
//SET AND GET AGE
public void setAge(int age)
{
this.Age = age;
}
public int getAge()
{
return Age;
}
}
}
...第二个是主程序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp_Practice
{
class Program
{
static void Main(string[] args)
{
Character Hero = new Character();
Character Villain = new Character();
//List of Heroes
Hero.getName();
// Hero.Name = "Sora";
// Hero.Age = 19;
// Villain.Name = "Xehanort";
// Villain.Age = 79;
Console.WriteLine("My name is " + Hero.getName());
}
}
}
请告诉我该怎么做,或者如果不可能,请告诉我原因。我很感激。
如果您有一个 string
值和您希望设置的名称,您应该能够使用 Hero.setName(value)
而不是 Hero.Name = value
。
这适用于控制台输入和硬编码变量。