I have a CompanyLegacy class that I would like to convert to CompanyNew class. Here are my classes.
public class CompanyLegacy
{
    public string Name { get; set; }
    public Person[] Persons { get; set; }
    public static implicit operator CompanyNew(CompanyLegacy setting)
    {
        // How to convert Persons[] to Employee[]
    }
}
public class CompanyNew
{
    public string Name { get; set; }
    public Employee[] Employees { get; set; }
}
public class Employee
{
    public string LastName { get; set; }
    public string FirstName { get; set; }
}
public class Person
{
    public string LastName { get; set; }
    public string FirstName { get; set; }
    public static implicit operator Employee(Person p)
    {
        return new Employee()
        {
            LastName = p.LastName,
            FirstName = p.FirstName
        };
    }
}
Ideally I would like to have a method call as simple as below for doing the conversion.
static CompanyNew GetCompany(CompanyLegacy company) { CompanyNew newCompany = company; return newCompany; }
As you can see I am trying to use implicit operators for doing the conversion. However I am not sure how can I use the implicit operator within CompanyLegacy for converting the Person[] to an Employee[] even though I can convert a Person to an Employee.