¿Hay alguna manera de determinar si un parámetro en un proceso almacenado tiene un valor predeterminado (y por lo tanto no es obligatorio) en el código - .Net?

Ya estoy sacando los parámetros del proceso almacenado enviado de esta manera:

 foreach (SqlParameter param in cmd.Parameters)
            {
               if ((param.Direction == ParameterDirection.Input) || (param.Direction == ParameterDirection.InputOutput))
                {
                    jsonReturn += "{\"paramName\":\"" + param.ParameterName + "\", \"paramType\":\"" + param.SqlDbType.ToString() + "\"},";
                }
            }

Miré el objeto SqlParameter y no pude encontrar una manera de ver si podía decirme si el parámetro tenía un valor predeterminado ... (aunque mi depurador está actuando de manera extraña, entonces quién sabe).

Lo que estoy haciendo es construir una especie de ayudante de Stored Proc para los usuarios ... Actualmente les digo todos los parámetros que pertenecen al Stored Proc que eligen ... REALMENTE ME GUSTARÍA saber si son necesarios. @

Respuestas a la pregunta(4)

Su respuesta a la pregunta