SecretSoftware wrote:
2) I want to do this :

s = new Socket (), rather than Socket s = new Socket (),

I know var kinda does this,but I want a variable to hold multiple types  in the course of execution. so I can set s = null, and assign it to a new instance of another object

aaaah! I can already see the mess. s being Socket then Form then Foo then DateTime... Please no!