c#从实例访问创建类变量

时间:2014-05-04 10:02:50

标签: c# variables inheritance instance

只是一个基本的编程问题。

public class ClassA
{
    int i = 10;
    void Start()
    {
        ClassB b = new ClassB(this);
        b.DoSomething();
    }
}

public class ClassB
{
    ClassA a;
    public ClassB(ClassA a)
    {
        this.a = a;
    }

    void DoSomething()
    {
        Console.WriteLine(a.i);
    }
}

我真的想省略a:

Console.WriteLine(a.i);
->
Console.WriteLine(i);

实现这一目标的最合理方法是什么?

(注意:ClassB不能继承ClassA,因为ClassA继承了ClassB所不能的东西。我想我应该说我不想将参数传递给函数,所以DoSomething(i)不适用。 )

1 个答案:

答案 0 :(得分:0)

您可以创建一个属性。请注意,对于您的示例和我的示例,a.i仍然需要public

public class ClassB
{
    private ClassA a;

    public ClassB(ClassA a)
    {
        this.a = a;
    }

    public int i { get { return a.i; } }

    void DoSomething()
    {
        Console.WriteLine(i);
    }
}