我很惊讶地看到属性可以有更多的属性和方法。为了更好地理解它,我们举个例子:
Panel1.Controls.Add();// Here Panel is object and Controls is Property and Add() is a Method.
Panel1.Controls.Count;// Here Panel is object and Controls is Property and Count is Property.
有人可以解释一下我们如何在班级中创造这样的行为 感谢。
答案 0 :(得分:10)
Controls
是一个返回ControlCollection
的属性 - 所以你的第二个语句是这样的:
ControlCollection collection = Panel1.Controls;
int count = collection.Count;
这更有意义吗?它没有调用属性本身的下一个方法/属性;它是在评估属性的结果上调用它。
答案 1 :(得分:6)
它是面向对象编程的核心。
该属性可以是具有自己属性的复杂类型。
class Car{
Engine CarEngine {get ; set; }
}
和
class Engine
{
int Cylinders {get; set; }
}
这里的汽车有一个属性引擎。和引擎拥有自己的财产。所以,如果你有一辆汽车的实例,你可以myCar.CarEngine.Cylinders
答案 2 :(得分:1)
Controls是Panel1的一个属性,但该属性是Object类型,任何对象都可以有属性和方法。