using System;
using System.Collections.Generic;
interface IX
{
void X();
}
class XA : IX
{
public void X() { Console.WriteLine("XA.X()"); }
}
static class XExtensions
{
public static void X(this IEnumerable<IX> xList)
{
foreach (var x in xList)
{
x.X();
}
}
}
public class Program
{
public static void Main(string[] args)
{
var xaArray = new[] { new XA() };
xaArray.X();
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCmludGVyZmFjZSBJWAp7CiAgICB2b2lkIFgoKTsKfQoKY2xhc3MgWEEgOiBJWAp7CiAgICBwdWJsaWMgdm9pZCBYKCkgeyBDb25zb2xlLldyaXRlTGluZSgiWEEuWCgpIik7IH0KfQoKc3RhdGljIGNsYXNzIFhFeHRlbnNpb25zCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBYKHRoaXMgSUVudW1lcmFibGU8SVg+IHhMaXN0KQogICAgewogICAgICAgIGZvcmVhY2ggKHZhciB4IGluIHhMaXN0KQogICAgICAgIHsKICAgICAgICAgICAgeC5YKCk7CiAgICAgICAgfQogICAgfQp9CgpwdWJsaWMgY2xhc3MgUHJvZ3JhbQp7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIHZhciB4YUFycmF5ID0gbmV3W10geyBuZXcgWEEoKSB9OwogICAgICAgIHhhQXJyYXkuWCgpOwogICAgfQp9Cg==