参照其在另一个类的实例的类的属性
问题描述:
我有具有另一个类的实例作为其属性之一的类:参照其在另一个类的实例的类的属性
class Phone
{
private string type;
private MemoryCell[] capacity = new MemoryCell[32];
private double price;
private int batteryPercentage;
}
(所有类具有getter和setter)
如何从Main中获取/设置MemoryCell属性的值,而不写入MemoryCell类的getters和setter的getter和setter(在Phone类中)?
答
让它对公众开放。由于私人成员不能直接呼叫。因此,不能调用MemoryCell类的getter或setter。
+1
我认为_没有写getter和setter(在Phone类中)_表示OP不能修改类。但这只是一个猜测... –
答
您可以使用对象phoneInstance.capacity [index] .propertyName直接获取它,如果这些是公开的。
你可以用反射来做到这一点,但你为什么要操纵一个类的私人领域是一个重要的问题。 –
你有一个名为'Capacity'的公共财产吗?从你的评论看来,所有类都有getter和setters_。如果是这样,你能不能只调用'myInstanceOfPhone.Capacity [index] .PropertyName',其中_index_是一个从0到31的值? –
如果任何答案解决了您的问题,请接受它。如果您找到了解决方案,请将其作为答案**并将其接受。谢谢! :) – Alfabravo