2016-12-10 1 views
0

ich die folgenden Klassenstruktur habengesetzt Eigenschaft zu einer Klasse Elemente in C#

public class elementMap : IelementMap 
    { 
     ElementStruct p { get; set; } //this has to be changed. I need to set the properties of ElementStruct here. 
     ElementVal E{get;set;}//this has to be changed. I need to set the properties of ElementVal here. 

    } 


public class elementStruct 
{ 
    string ID{ get;set; } 
    string Name{ get;set; } 

} 

public class ElementVal 
{ 
    string ID{ get;set; } 
    string Name{ get;set; } 

} 

Wie ich Eigenschaftswerte elementVal und ElementStruct aus der Klasse elementMap einstellen kann?

+1

Warum würdest du etwas 'XxxStruct' nennen und es zu einer' Klasse' machen? –

Antwort

0

Assign to private Variable

public class elementMap 
{ 
    private ElementStruct p; 
    public ElementStruct P 
    { 
     set 
     { 
      p.ID = "id"; 
      p.Name = "name"; 
     } 
     get { 
      return p; 
     } 
    } 
    private ElementVal e; 
    public ElementVal E { set { 
     e.ID = "id"; 
     e.Name = "name"; 
    } 
     get { 
      return e; 
     } 
    } 

} 


public class ElementStruct 
{ 
    public string ID { get; set; } 
    public string Name { get; set; } 

} 

public class ElementVal 
{ 
    public string ID { get; set; } 
    public string Name { get; set; } 

} 
+0

Es ist sinnlos, den impliziten Parameter 'value' in einem Property Setter nicht zu verwenden. – abto

0

Angenommen, Sie ein elementMap Objekt wie das sind die Schaffung folgende:

elementMap obj = new elementMap(); 

Sie müssen beide Eigenschaften p und E ändern öffentlich zu sein, so dass Sie zugreifen können sie:

public class elementMap : IelementMap 
{ 
    public ElementStruct p { get; set; } 
    public ElementVal E{get;set;} 
} 

Dann können Sie dies tun:

obj.p = new ElementStruct(); 
obj.E = new ElementVal(); 

Danach werden Sie feststellen, dass Sie nicht immer noch diese Eigenschaften eigene Mitglieder zugreifen können, dass, weil Sie auch einstellen müssen, um diese zu veröffentlichen:

public class elementStruct 
{ 
    public string ID{ get;set; } 
    public string Name{ get;set; } 

} 

public class ElementVal 
{ 
    public string ID{ get;set; } 
    public string Name{ get;set; } 

} 

Schließlich können Sie jetzt zugreifen und eingestellt Werte für sie:

elementMap obj = new elementMap(); 

obj.p = new elementStruct(); 
obj.p.ID = "1"; 
obj.p.Name= "SampleStruct"; 

obj.E = new ElementVal(); 
obj.E.ID = "2"; 
obj.E.Name= "SampleVal"; 
Verwandte Themen