I need following code to work:

```
class A 
{       
   //Something
}

class Program
{
    static void Main(string[] args)
    {
        A a = new A();
        a[""]("")[""][""]("");
        a[""][""]; // should work as well
    }
}

```

In other words object should support indexer and operator (). As I know C# does not support operator () for classes. MSDN says that I should use Delegates for that purpose. But what should I do if I need to write code like shown above?