Ich habe eine Klasse namens Mitarbeiter, die ein Feld namens Versicherung hat, die wie dieseInitialisierung verschachtelte Objekteigenschaften
vom Typ Versicherung istpublic class Employee
{
public string Name;
public Insurance Insurance;
}
habe ich eine andere Klasse namens Insurance
public class Insurance
{
public int PolicyId;
public String PolicyName;
}
Jetzt im Haupt Programm Ich möchte etwas tun wie
C# beschweren sich und ich weiß, wie es zu beheben ist indem Sie eine Instanz der Insurance-Klasse erstellen.
Meine Frage ist, kann ich irgendwie die Werte für die Felder in der Art und Weise zuweisen ich es im Hauptprogramm tun möchten, mit wie
**
myEmployee.Insurance.PolicyId = 123 ;
myEmployee.Insurance.PolicyName = "Life Time" ;
** Ich versuchte
public class Employee
{
public Employee()
{
Insurance Insurance = new Insurance();
}
public String Name;
public Insurance Insurance;
public class Insurance
{
public int PolicyId;
public String PolicyName;
}
}
im Hauptverfahren, wenn ich versuche
class Program
{
static void Main(string[] args)
{
var joe = new Employee();
joe.Name = "Joe";
joe.Insurance.
}
ich dieses
Fehler 2 Mehrdeutigkeit zwischen 'ConsoleApplication1.Employee.Insurance' fehler- und 'ConsoleApplication1.Employee.Insurance' c: \ users \ lenovo \ Dokumente \ Visual Studio 2012 \ Projects \ ConsoleApplication1 \ ConsoleApplication1 \ Program.cs 15 17 ConsoleApplication1
Ich möchte myEmployee.Insurance.PolicyId mit 2 dots.Is dies sogar möglich, in jedem objektorientierten Langauge verwenden. –
Sie haben eine Klasse "Versicherung" und eine Eigenschaft "Versicherung" innerhalb von Mitarbeiter definiert. Muss in der Klasse eindeutig benannt werden, sonst weiß es nicht, an welcher Stelle gearbeitet werden soll. Stellen Sie sicher, dass es sich um eine eigene Klasse handelt, oder benennen Sie eine von ihnen um. Ich habe meine Antwort aktualisiert, um Ihre Änderungen zu berücksichtigen und das Problem zu beheben. – bland