Thanks Steve

With your help I am able to make it work.

Thanks and Regards
- Puneet


void callfoo(alias F, T) (T t) {
  void delegate() dg;
  dg.funcptr = &F;
  dg.ptr = cast(void *)t;
  dg();
}

class Foo {
  void foo() {
    import std.stdio;
    writeln("This Works");
  }
}

void main() {
  Foo f = new Foo();
  callfoo!(Foo.foo)(f);
}