ho una classe denominata dipendente che ha un campo chiamato assicurazione che è di assicurazione tipo come questoInizializzazione proprietà degli oggetti nidificati
public class Employee
{
public string Name;
public Insurance Insurance;
}
Ho un'altra classe chiamata assicurazione
public class Insurance
{
public int PolicyId;
public String PolicyName;
}
Ora, nel principale programma voglio fare qualcosa come
var myEmployee = new Employee();
myEmployee.Name = "Jhon";
myEmployee.Insurance.PolicyId = 123 ;
myEmployee.Insurance.PolicyName = "Life Time" ;
C# si lamenta e so come risolverlo creando un'istanza della classe Assicurazione.
La mia domanda è posso in qualche modo assegnare i valori per i campi nel modo in cui voglio farlo nel programma principale utilizzando come
**
myEmployee.Insurance.PolicyId = 123 ;
myEmployee.Insurance.PolicyName = "Life Time" ;
** ho provato
public class Employee
{
public Employee()
{
Insurance Insurance = new Insurance();
}
public String Name;
public Insurance Insurance;
public class Insurance
{
public int PolicyId;
public String PolicyName;
}
}
Nel metodo principale quando provo
class Program
{
static void Main(string[] args)
{
var joe = new Employee();
joe.Name = "Joe";
joe.Insurance.
}
ottengo questo Error-
errore 2 ambiguità tra 'ConsoleApplication1.Employee.Insurance' e 'ConsoleApplication1.Employee.Insurance' C: \ Users \ Lenovo \ Documenti \ Visual Studio 2012 \ Projects \ ConsoleApplication1 \ ConsoleApplication1 \ Program.cs 15 17 ConsoleApplication1
voglio usare myEmployee.Insurance.PolicyId utilizzando 2 dots.Is questo ancora possibili in qualsiasi orientato agli oggetti langauge. –
Hai definito una classe "Assicurazione" e una proprietà "Assicurazione" sia all'interno del Dipendente. Deve essere nominato in modo univoco all'interno della classe, altrimenti non saprà a chi lavorare. Assicurati che sia di classe, o rinomina uno di loro. Ho aggiornato la mia risposta per riflettere le tue modifiche e risolvere il problema. – bland