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

public class DataList//这是第一个类 { private string myName; public string MyName { get {return myName;} set { this.myName = value; } }public class DataDispose//这是第二个类 {public List<DataList> DataTableToList(DataTable a) { List<DataList> DList = new List<DataList>(); DList.myName = a.Rows[0]["name"]; }这么写对么?为什么DList的属性中没有myName?

(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);    
    }
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-25
在这里DList是一个List数组,数组存放的对象为DataList,应用举例如下:

public List<DataList> DataTableToList(DataTable a)
{
List<DataList> DList = new List<DataList>();
DataList dl = new DataList();
dl.myName = a.Rows[0]["name"].ToString();
DList.Add(dl);
return DList;
}本回答被网友采纳
第2个回答  2016-01-12
参考如下代码:
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;};
第3个回答  2013-09-25
实例化你要引用的类,你的类中属性要区分大小写
第4个回答  2014-09-25
首先在一个类中包含将被调用类的头文件或用class声明被调用类信息,构造一个被调用类的对象,就可以调用。如:
class One
{
public:
int a;

};

class Two
{
public:
One a;

a.a;

}
相似回答