May be that you do not understand my problem. I sure know how to cast. The problem is that when I get System.Object I wanna cast it to various types. So I want to be able to check what that type is (or should be) and case dinamically at a runtime to proper type. To put it another way I want to decide during runtime to what type should I cast. I guess that I should use reflection? May be you can provide me some guidelines?