using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Person shiyan = new Person("张老师");
shiyan.ShowInfo();
Console.WriteLine(shiyan.Name);
shiyan.Name = "张老师变李老师";
Console.WriteLine(shiyan.Name);
Console.Read();
}
}
public class Person
{
protected string name;
public string Name
{
get { return name; }
set { name = Name; }
}
public Person(string name)
{
this.name = name;
}
public virtual void ShowInfo()
{
Console.WriteLine(string.Format("姓名:{0}", name));
Console.WriteLine();
}
}
}
这段代码,定义了一个属性Name,是可读、可写
但是在主函数里设置了shiyan.Name = "张老师变李老师";
但是输出来的还是“张老师”,请问这是什么原因?C#属性
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Person shiyan = new Person("张老师");
shiyan.ShowInfo();
Console.WriteLine(shiyan.Name);
shiyan.Name = "张老师变李老师";
Console.WriteLine(shiyan.Name);
Console.Read();
}
}
public class Person
{
protected string name;
public string Name
{
get { return name; }
set { name = Name; }
}
public Person(string name)
{
this.name = name;
}
public virtual void ShowInfo()
{
Console.WriteLine(string.Format("姓名:{0}", name));
Console.WriteLine();
}
}
}
这段代码,定义了一个属性Name,是可读、可写
但是在主函数里设置了shiyan.Name = "张老师变李老师";
但是输出来的还是“张老师”,请问这是什么原因?C#属性
{
get { return name; }
set { name = value; }
}