Может быть, я немного тупой, но мне нужно взять значение параметра базового класса из дочернего класса.Как я могу это сделать?
Мой код:
using (OracleConnection connection = new OracleConnection(ConnStr)) {
connection.Open();
using (OracleCommand cmd = connection.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Package.StoredProcedure";
cmd.Parameters.Add(DbParam("in_id", OracleDbType.Int32, id));
cmd.Parameters.Add(DbOutParam("out_success", OracleDbType.Int32, 1));
cmd.ExecuteNonQuery();
int out_success = cmd.Parameters.GetIntValue("out_success");
connection.Close();
}
}
И я написал расширение GetIntValue
для OracleParameterCollection
private static int GetIntValue(this OracleParameterCollection parameter, string parameterName) {
bool success = int.TryParse(parameter[parameterName].Value.ToString(), out int response);
if (success == false) {
Console.Out.WriteLine($"TryParse parameter: {parameterName}");
throw new Exception("Unhandled Exception");
}
return response;
}
И мне нужно войти врасширение GetIntValue
свойство cmd.CommandText
для печати в консоли - как это возможно?