Tôi có một lớp được gọi là nhân viên trong đó có một lĩnh vực được gọi là bảo hiểm là bảo hiểm kiểu như thế nàyKhởi tạo thuộc tính đối tượng lồng nhau
public class Employee
{
public string Name;
public Insurance Insurance;
}
Tôi có một lớp được gọi là Bảo hiểm
public class Insurance
{
public int PolicyId;
public String PolicyName;
}
Bây giờ trong chính chương trình tôi muốn làm điều gì đó như
var myEmployee = new Employee();
myEmployee.Name = "Jhon";
myEmployee.Insurance.PolicyId = 123 ;
myEmployee.Insurance.PolicyName = "Life Time" ;
C# đang khiếu nại và tôi biết cách khắc phục bằng cách tạo một thể hiện của lớp Bảo hiểm.
Câu hỏi của tôi là tôi có thể bằng cách nào đó gán các giá trị cho các lĩnh vực trong cách tôi muốn làm điều đó trong chương trình chính sử dụng như
**
myEmployee.Insurance.PolicyId = 123 ;
myEmployee.Insurance.PolicyName = "Life Time" ;
** tôi đã cố gắng
public class Employee
{
public Employee()
{
Insurance Insurance = new Insurance();
}
public String Name;
public Insurance Insurance;
public class Insurance
{
public int PolicyId;
public String PolicyName;
}
}
Trong phương pháp chính khi tôi thử
class Program
{
static void Main(string[] args)
{
var joe = new Employee();
joe.Name = "Joe";
joe.Insurance.
}
tôi có được điều này sai sót
Lỗi 2 sự nhập nhằng giữa 'ConsoleApplication1.Employee.Insurance' và 'ConsoleApplication1.Employee.Insurance' C: \ Users \ lenovo \ Documents \ Visual Studio 2012 \ Projects \ ConsoleApplication1 \ ConsoleApplication1 \ Program.cs 15 17 ConsoleApplication1
Tôi muốn sử dụng myEmployee.Insurance.PolicyId sử dụng 2 dots.Is này thậm chí có thể ở bất kỳ langauge hướng đối tượng. –
Bạn đã xác định lớp "Bảo hiểm" và thuộc tính "Bảo hiểm" cả trong Nhân viên. Phải được đặt tên duy nhất trong lớp, nếu không nó sẽ không biết phải làm gì. Bảo hiểm là lớp riêng hoặc đổi tên một trong số đó. Tôi đã cập nhật câu trả lời của mình để phản ánh chỉnh sửa của bạn và giải quyết vấn đề này. – bland