2017-04-11 95 views
-2

我有具有另一个类的实例作为其属性之一的类:参照其在另一个类的实例的类的属性

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类中)?

+0

你可以用反射来做到这一点,但你为什么要操纵一个类的私人领域是一个重要的问题。 –

+0

你有一个名为'Capacity'的公共财产吗?从你的评论看来,所有类都有getter和setters_。如果是这样,你能不能只调用'myInstanceOfPhone.Capacity [index] .PropertyName',其中_index_是一个从0到31的值? –

+0

如果任何答案解决了您的问题,请接受它。如果您找到了解决方案,请将其作为答案**并将其接受。谢谢! :) – Alfabravo

回答

-1

让它对公众开放。由于私人成员不能直接呼叫。因此,不能调用MemoryCell类的getter或setter。

+1

我认为_没有写getter和setter(在Phone类中)_表示OP不能修改类。但这只是一个猜测... –

-1

您可以使用对象phoneInstance.capacity [index] .propertyName直接获取它,如果这些是公开的。

相关问题