I have been refactoring one of my old MSSQL Connection helper library and I got the following error:
Error CS7036 There is no argument given that corresponds to the required formal parameter 'errorMsg' of 'ErrorEventArg.ErrorEventArg(string, string)' MSSQLTest C:\Users\Administrator\Desktop\MSSQLTest\MSSQLTest\MSSQLConnection.cs 61
This is my code so far:
MSSQLConnection.cs
using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Threading; namespace MSSQLTest { public class ErrorEventArg : EventArgs { public string ErrorMsg { get; set; } public string LastQuery { get; set; } public ErrorEventArg(string errorMsg, string lastQuery) { ErrorMsg = errorMsg; LastQuery = lastQuery; } } public class MSSQLConnection { /// <summary> /// Private class objects. /// </summary> private SqlConnection sqlConnection; private int sqlCommandTimeout; private string lastQuery = string.Empty; /// <summary> /// Public event related objects & handler. /// </summary> public event ErrorHandler OnError; public delegate void ErrorHandler(MSSQLConnection sender, ErrorEventArg e); /// <summary> /// Class constructor. /// </summary> /// <param name="sqlConnection"></param> /// <param name="sqlCommandTimeout"></param> public MSSQLConnection(SqlConnection sqlConnection, Int32 sqlCommandTimeout = 120) { if (null == sqlConnection) throw new Exception("Invalid MSSQL Database Conection Handle"); if (sqlConnection.State != System.Data.ConnectionState.Open) throw new Exception("MSSQL Database Connection Is Not Open"); this.sqlConnection = sqlConnection; this.sqlCommandTimeout = sqlCommandTimeout; } /// <summary> /// Helper method to emit a database error to event subscribers. /// </summary> /// <param name="errorMsg"></param> internal void EmitError(String errorMsg) { var errorDelegate = OnError; if (errorDelegate != null) { errorDelegate(this, new ErrorEventArg() // Line #61 { ErrorMsg = errorMsg, LastQuery = lastQuery }); } } /// rest of the code snipped } }
What does this error means & how do I fix it? I've not seen this error before...
The following definitions are useful: formal parameter — the identifier used in a method to stand for the value that is passed into the method by a caller. For example, amount is a formal parameter of processDeposit.
Error CS7036 There is no argument given that corresponds to the required formal parameter (Xamarin Forms)
In the constructor of
public class ErrorEventArg : EventArgs
you have to add "base" as follows:
public ErrorEventArg(string errorMsg, string lastQuery) : base (string errorMsg, string lastQuery) { ErrorMsg = errorMsg; LastQuery = lastQuery; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With