一个类数据用于另一个类数据C#

时间:2016-08-10 10:41:34

标签: c#

我有两个已经继承到XYZ

的类

国家/地区类

public class country_master : XYZ
{
        private string _id;

        public string id
        {
            get { return _id; }
            set { _id = value; }
        }
        private string _country_code;

        public string country_code
        {
            get { return _country_code; }
            set { _country_code = value; }
        }


        private string _country_name;

        public string country_name
        {
            get { return _country_name; }
            set { _country_name = value; }
        }
}

州级

public class state_master: XYZ
{
        private string _id;

        public string id
        {
            get { return _id; }
            set { _id = value; }
        }
        private string _state_code;

        public string state_code
        {
            get { return _state_code; }
            set { _state_code= value; }
        }


        private string _state_name;

        public string state_name
        {
            get { return _state_name; }
            set { _state_name= value; }
        }
}
  • 现在,我想在我的country_name课程中使用state_master怎么可能?

谢谢。

3 个答案:

答案 0 :(得分:3)

您的country_master课程中需要state_master类型的变量。 然后,您可以访问该媒体资源country_name

不幸的是,不可能进行交叉继承。 (如果你有一个兄弟,你不能只用他的手,虽然你继承了同一个父母。你需要你的兄弟亲自。)

示例:

public class state_master: XYZ
{
    private country_master _cm;

    public country_master cm
    {
        get { return _cm; }
        set { _cm = value; }
    }

    public void state_method()
    {
        this.cm = new country_master();
        this.cm.country_name;
    }

}

另一种可能性当然是在调用方法

时从外部传递变量
public void state_method(string country_name)
{
    // use country name
}

致电网站:

state_master sm = new state_master();
country_master csm = new country_master();

sm.state_method(cm.countr_name);

(现在你要求你的兄弟伸出援助之手)

答案 1 :(得分:2)

不止一种方法给猫皮肤。

您可以创建country_master的新实例:

public class state_master: XYZ
{
    private country_master CountryMaster;
    // Class constructor
    public state_master()
    {
        CountryMaster = new country_master();
    }

    private string _id;
    ...

或将country_master的现有实例传递给构造函数:

public class state_master: XYZ
{
    private country_master CountryMaster;
    // Class constructor
    public state_master(country_master cm)
    {
        CountryMaster = cm;
    }

    private string _id;
    ...

并用

调用它
country_master MyCountry = new country_master();
state_master MyState = new state_master(MyCountry);

答案 2 :(得分:0)

您可以更改代码,以便state_master继承country_master

public class state_master: country_master