Anonymous types based in Interface

Posted by Bhaskar on Stack Overflow See other posts from Stack Overflow or by Bhaskar
Published on 2011-03-02T23:18:20Z Indexed on 2011/03/02 23:25 UTC
Read the original article Hit count: 244

Filed under:

Can I create anonymous implementations of an interface , in a way similar to the way

delegate() { // type impl here , but not implementing any interface}

Something on the lines of

new IInterface() { // interface methods impl here }

The situations where I see them to be useful are for specifying method parameters which are interface types, and where creating a class type is too much code.

For example , consider like this :

    public void RunTest()
    {
        Cleanup(delegate() { return "hello from anonymous type"; });
    }

    private void Cleanup(GetString obj)
    {
        Console.WriteLine("str from delegate " + obj());
    }

    delegate string GetString();

how would this be achieved if in the above code , the method Cleanup had an interface as a parameter , without writing a class definition ? ( I think Java allows expressions like new Interface() ... )

© Stack Overflow or respective owner

Related posts about c#