How would you create an extension method which enables me to do the following (warning: exteme pseudo-code)...
class FooBar
{
    Int32 Foo { get; set; }
    String Bar { get; set; }
}
new FooBar().With(fb => new Func<FooBar, Object>(instance =>
{
    // VB With magic
    // NOTE: The instance parameter HAS to be by reference
    instance.Foo = 10;
    instance.Bar;
    return new Object();
}));
If you could specify anonymous functions without a return type (void), the above would look much cleaner...
new FooBar().With(fb => new Func<FooBar, void>(instance =>
{
    instance.Foo = 10;
    instance.Bar;
}));
This is pseudo-code of the worst kind. But I hope you get the idea.