在 C# 中检查方法调用方的字段
本文关键字:字段 调用 方法 检查 | 更新日期: 2023-09-27 18:33:33
class Dog
{
public void Bark()
{
Console.WriteLine("<Name_Of_Dog> just barked!")
}
}
static void Main()
{
Dog Spike=new Dog();
Dog Mike=new Dog();
Spike.Bark();
}
现在我希望控制台输出是:"斯派克刚刚吠叫!我该怎么做?
请改用属性或字段:
class Dog
{
string Name
public void Bark()
{
Console.WriteLine("{0} just barked!", Name)
}
public Dog(string name)
{
this.Name=name;
}
}
static void Main()
{
Dog Spike=new Dog("Spike");
Dog Mike=new Dog("Mike");
Spike.Bark();
}
变量的名称由开发人员使用。它用于沟通,揭示这个变量存在的原因,它的作用以及如何使用它。业务逻辑应该与变量名完全无关。
在这种情况下:object potato = new Object()
,并不是因为我将对象命名为马铃薯,它才自动成为一个。在您的示例中,使用这样的狗名称仅向开发人员指示此 Dog 实例名为 Spike,而不是它表示的实际对象是名为 Spike 的狗。
您需要通过properties
或fields
定义对象的特征。对于您的情况,您需要一个名为"名称"的字段。为什么不是房产?因为物体就像间谍,他们想让一切都对全世界隐藏起来。由于您没有在应用程序的其他位置使用该名称,因此请在类级别限制范围:
class Dog
{
private readonly string name;
public Dog(string name)
{
this.name = name;
}
public void Bark()
{
Console.WriteLine("{0} just barked!", name);
}
}
而主要的:
Dog Spike = new Dog("Spike");
使用属性,它看起来像这样:
class Dog
{
public string Name { get; set; }
public void Bark()
{
Console.WriteLine("{0} just barked!", Name);
}
}
而主要变成:
Dog Spike = new Dog { Name = "Spike" };