1

J'ai deux classes:C# Initialiser propriétés intérieures

public class TmpClass 
{ 
    public TmpClass() 
    { 
     InnerClass = new InnerClass(); 
    } 

    public InnerClass InnerC { get; set; } 
} 

public class InnerClass 
{ 
    public string Name { get; set; } 
} 

Et est-il possible d'initialiser la propriété de cette classe interne comme, becouse de cette manière VS2010 ne peut pas le fait.

TmpClass a = new TmpClass() 
{ 
    InnerC.Name = "blabla" 
} 
+0

avez-vous envisagé d'utiliser les constructeurs? –

Répondre

1

Utilisez extrait de code suivant:

TmpClass a = new TmpClass 
{ 
    InnerC = new InnerClass { Name = "Name" } 
}; 

Notez cette déclaration new TmpClass appellera un constructeur par défaut. Notez également: vous avez une mauvaise déclaration de constructeur. Changer constructeur TmpClass à l'échantillon de code suivant, afin qu'il compilera:

public TmpClass() 
{ 
    InnerC = new InnerClass(); 
} 
0
TmpClass a = new TmpClass() 
{ 
    InnerC = new InnerClass 
    { 
     Name = "blabla" 
    } 
}