C#怎么在一个类中调用另一个类的变量?

2024-11-13 08:28:36
推荐回答(5个)
回答1:

(1)如果两个类没有继承关系,存取另一个类中变量的方法如下:

public class A
{
    // 注意: 
    // Count是静态变量(static),称为类变量。类变量无需实例化即可使用
    public static int Count;
    
    // 注意:
    // x是不是静态变量,称为实例变量,只能通过实例存取。
    public int x;
}

// 在类B中使用类A中的变量
public class B
{
    public void SomeMethod()
    {
        //存取A.Count,无需实例化
        A.Count = 100;
        Console.WriteLine(A.Count);
        
        //存取A中的实例变量x,必须先实例化A,然后才能存取
        A a = new A();
        a.x = 200;
        Console.WriteLine(a.x);
    }
}

请特别注意“类变量”和“实例变量”的差异!


(2)如果两个类有继承关系,存取基类中变量的方法如下

public class A
{
    private int x;
    protected int y;
    public int z;
    //……
}

public class B : A
{
    public void SomeMethod()
    {
         //base.x是错误的!因为在基类中x是private
         base.y = 100;
         base.z = 200;
         Console.WriteLine("{0}, {1}", base.y, base.z);    
    }
}

回答2:

在这里DList是一个List数组,数组存放的对象为DataList,应用举例如下:

public List DataTableToList(DataTable a)
{
List DList = new List();
DataList dl = new DataList();
dl.myName = a.Rows[0]["name"].ToString();
DList.Add(dl);
return DList;
}

回答3:

参考如下代码:
class b
{public:
b (int i) {m_i=i;}; // class b只有一个带参数的构造函数
private:
int m_i;};
class a{
public:
a ()
:m_b(1) // 因为b没有默认构造函数,所以必须在初始化表中初始化
{
};
b m_b;};

回答4:

实例化你要引用的类,你的类中属性要区分大小写

回答5:

首先在一个类中包含将被调用类的头文件或用class声明被调用类信息,构造一个被调用类的对象,就可以调用。如:
class One
{
public:
int a;

};

class Two
{
public:
One a;

a.a;

}