2017-04-04 18 views
-4

Ich brauche ein Objekt in einem Objekt. Das "Haupt" -Objekt benötigt 3 String-Felder und 1 Feld eines Objekts, das einen anderen String enthält. Ich fand heraus, dass ich 2 Klasse eins mit 3 String-Feldern und das andere Objekt und eins mit einem String-Feld erstellen muss. jetzt meine Frage wie bekomme ich die zweite Klasse als Objekt in der ersten Klasse?So erstellen Sie ein Objekt in einem Objekt C#

+1

Welche Sprache verwenden Sie, C oder C#? Sie sind sehr unterschiedlich. – Servy

+0

Warum ist diese Frage mit zwei sehr unterschiedlichen Sprachen markiert? – Amy

+0

Es gibt viele andere Fragen, die das bereits stellen. – 0perator

Antwort

0

Da die Frage Titel sagt C#, lassen Sie uns mit, dass gehen, und einige Syntax Zucker verwenden:

using System; 

namespace Example 
{ 

    public class Child 
    { 
     public string Property1 { get; set; } 
    } 

    public class Parent 
    { 
     public string Property1 { get; set; } 
     public string Property2 { get; set; } 
     public string Property3 { get; set; } 
     public Child Property4 { get; set; } 
    } 

    public class Program 
    { 
     public static void Main(string[] args) 
     { 
      var foo = new Parent 
      { 
       Property1 = "Hi", 
       Property2 = "there", 
       Property3 = "Svenja", 
       Property4 = new Child 
       { 
        Property1 = "Löffel" 
       } 
      }; 
      Console.WriteLine(foo.Property3); 
      Console.WriteLine(foo.Property4.Property1); 
      Console.ReadLine(); 
     } 
    } 
} 

Working Fiddle here.

2

Sie fügen dem ersten Objekt eine Eigenschaft oder ein Feld hinzu, dessen Typ das des zweiten Objekts ist, z.

public class ChildObject 
{ 
    public string ChildObjectProperty1 {get; set;} 
} 

public class MainObject 
{ 
    public string Property1 {get; set;} 
    public string Property2 {get; set;} 
    public string Property3 {get; set;} 
    public ChildObject Property4 {get; set;} 
    public MainObject() 
    { 
     // Initialize Property4 to a new instance of a ChildObject 
     this.Property4 = new ChildObject(); 
    } 
} 
+0

Das ist C#, übrigens nicht C. –

Verwandte Themen