I was doing something like this:
SqlParameter param = new SqlParameter(\"@Param\", 0) { SqlDbType = SqlDbType.Int }; private void TestParam(SqlParameter par
The 0 you are passing in is the type, not the value. 0 literals (and constant values) are allowed for any enum type - meaning the 0 of the underlying enum type, and are a better "match" than object, since it doesn't need boxing.
Personally, I would use;
Value = 0
perhaps in the object initializer.