Interfaces collection in C#

var rows = new INamed[] {
    new Flower {Name = "Rose"},
    new City {Name = "Rome"},
    new Star {Name = "Sirius"} };

var list = string.Join(", ", rows.Select(r => r.Name));
//list is Rose, Rome, Sirius

interface INamed {
    string Name { getset; }
}

struct Flower : INamed {
    public string Name { getset; }
}

struct City : INamed {
    public string Name { getset; }
}

struct StarINamed {
    public string Name { getset; }
}