У меня есть класс с именем сотрудника, который имеет поле под названием страхования, страхования типа, как этотИнициализация вложенных свойств объекта
public class Employee
{
public string Name;
public Insurance Insurance;
}
У меня есть еще один класс, называемый страховой
public class Insurance
{
public int PolicyId;
public String PolicyName;
}
В настоящее время в основной программа я хочу сделать что-то вроде
var myEmployee = new Employee();
myEmployee.Name = "Jhon";
myEmployee.Insurance.PolicyId = 123 ;
myEmployee.Insurance.PolicyName = "Life Time" ;
C# жалуется, и я знаю, как его исправить путем создания экземпляра класса страхования.
Мой вопрос может я как-то присвоить значения для полей, как я хочу сделать это в основной программе, используя как
**
myEmployee.Insurance.PolicyId = 123 ;
myEmployee.Insurance.PolicyName = "Life Time" ;
** Я попытался
public class Employee
{
public Employee()
{
Insurance Insurance = new Insurance();
}
public String Name;
public Insurance Insurance;
public class Insurance
{
public int PolicyId;
public String PolicyName;
}
}
В основной метод, когда я пытаюсь
class Program
{
static void Main(string[] args)
{
var joe = new Employee();
joe.Name = "Joe";
joe.Insurance.
}
Я получаю это error-
Ошибка 2 Неоднозначность между 'ConsoleApplication1.Employee.Insurance' и 'ConsoleApplication1.Employee.Insurance' C: \ Users \ \ Lenovo \ документы Visual Studio 2012 \ Projects \ ConsoleApplication1 \ ConsoleApplication1 \ Program.cs 15 17 ConsoleApplication1
Я хочу использовать myEmployee.Insurance.PolicyId с помощью 2 dots.Is это даже возможно в любом объектно-ориентированном LANGAUGE. –
Вы определили класс «Страхование» и имущество «Страхование» как внутри Работника. Должен быть однозначно назван в классе, иначе он не будет знать, над чем работать. Сделайте страхование своим классом или переименуйте один из них. Я обновил свой ответ, чтобы отразить ваши изменения и решить эту проблему. – bland