C# Extension Method to Allow Anonymous Types to Implement Interfaces