vb.net Object Initialiser List(Of T)

Posted by Tim B James on Stack Overflow See other posts from Stack Overflow or by Tim B James
Published on 2010-07-15T09:22:09Z Indexed on 2011/01/02 2:54 UTC
Read the original article Hit count: 312

Filed under:
|

I have been looking at some C# code:

List<Employee> Employees = new List<Employee>{
    new Employee{firstname="Aamir",lastname="Hasan",age=20},
    new Employee{firstname="awais",lastname="Hasan",age=50},
    new Employee{firstname="Bill",lastname="Hasan",age=70},
    new Employee{firstname="sobia",lastname="khan",age=80},  
    };

Now when I convert this to vb.net

Dim Employees as List(Of Employee) = New List(Of Employee)() With { New Employee() With { _  
.firstname = "Aamir", _  
.lastname = "Hasan", _   
.age = 20 _  
}, _  
New Employee() With { _  
.firstname = "awais", _  
.lastname = "Hasan", _  
.age = 50 _  
}, _  
New Employee() With { _  
.firstname = "Bill", _  
.lastname = "Hasan", _  
.age = 70 _  
}, _  
New Employee() With { _  
.firstname = "sobia", _  
.lastname = "khan", _  
.age = 80 _  
} _  
}  

I get the error "Name of field or property being initialized in an object initializer must start with'.'."

Now I can get an array of employee using the code:

Dim Employees = { New Employee() With { _  
.FirstName = "Aamir", _  
.LastName = "Hasan", _   
.Age = 20}, _  
New Employee() With { _    
.FirstName = "Awais", _   
.LastName = "Hasan", _  
.Age = 50}, _
New Employee() With { _
.FirstName = "Bill", _ 
.LastName = "Hasan", _  
.Age = 70 _
} _  
}    

But I would like a List(Of Employee) as it is bugging me as to why this doesnt work in vb.net?

© Stack Overflow or respective owner

Related posts about vb.net

Related posts about syntax