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

本文关键字:创建 类变量 访问 实例 | 更新日期: 2023-09-27 18:01:47

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

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)不适用。

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

您可以创建一个属性。请注意,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);
    }
}