一个类的数据用在另一个类的数据c#中

本文关键字:数据 另一个 一个 | 更新日期: 2023-09-27 18:01:35

我有以下两个类已经继承到XYZ

国家类

<>之前公共类country_master: XYZ{私有字符串_id;公共字符串id{获取{return _id;}设置{_id = value;}}私有字符串_country_code;公共字符串国家代码{获取{return _country_code;}设置{_country_code = value;}}私有字符串_country_name;公共字符串country_name{获取{return _country_name;}设置{_country_name = value;}}}之前

状态类

<>之前公共类state_master: XYZ{私有字符串_id;公共字符串id{获取{return _id;}设置{_id = value;}}私有字符串_state_code;公共字符串state_code{获取{return _state_code;}设置{_state_code= value;}}私有字符串_state_name;公共字符串state_name{获取{return _state_name;}设置{_state_name= value;}}}之前
  • 现在,我想使用country_name在我的state_master类怎么可能?

谢谢。

一个类的数据用在另一个类的数据c#中

state_master类中需要country_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);

给猫剥皮的方法不止一种

你可以创建一个新的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);

你可以修改你的代码使state_master继承country_master

public class state_master: country_master 
相关文章: