You must pass in arguments of the correct type because the constructor of System.Drawing.Font is overloaded, there are several different versions of it and the compiler has no idea which one it is supposed to use because you are passing in three values of type System.Object and in .Net, everything is a System.Object do you see why this could present a problem?