0

我有一个Model ABModel A有联系人的信息(电话号码、电子邮件等),这些信息Model B也必须有。我有一个通过“主模型页面”访问和使用的电话、电子邮件和地址Model A模型,您可以在此处看到:

    public class master
{
    public A A { get; set; }
    public phones phones { get; set; }
    public emails emails { get; set; }
    public addresses addresses { get; set; }
}

由于Model A成功地使用了这个主模型(它创建了一个新phoneemail, 和address创建一个新的Model A)有没有一种方法可以将我的模型 A 推到我的模型 B 的创建页面中,这样我就不必重做我为使模型 A 工作所做的代码?换句话说,我可以在模型 B 的创建视图中使用模型 A 的创建视图吗?我希望这是有道理的。

编辑

    public class A 
    { 
      public int id { get; set;}
      public string name { get; set; }
      public string company { get; set; }
    }

    public class B 
    {
      public string userName
      public string website
    }

如您所见,B 与 A 不同,因此它必须有自己的创建字段,但是,它需要 A 拥有的所有东西以及 A 的控制器获得的所有东西(电话、地址、电子邮件)使用主模型。我希望这能解决问题。

4

1 回答 1

0

我想你想B继承自A

这样做将导致B同时具有来自A和的属性B

public class A 
{ 
  public int id { get; set;}
  public string name { get; set; }
  public string company { get; set; }
  public string SayHello(){ return string.Format("Hello {0}"); }
}

public class B : A
{
  public string userName
  public string website
}

然后你可以做类似的事情

var b = new B() { name = "me", company="my company", userName = "me@mycompany.com" };
var greeting = b.SayHello();  // "Hello me"
于 2013-07-18T00:23:19.427 回答