Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

There is no argument given that corresponds to the required formal parameter - .NET Error

Tags:

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...

like image 940
Latheesan Avatar asked Nov 09 '15 10:11

Latheesan


People also ask

What is a formal parameter in C#?

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.

What is error CS7036?

Error CS7036 There is no argument given that corresponds to the required formal parameter (Xamarin Forms)


1 Answers

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; } 
like image 138
FullStackSoon Avatar answered Oct 02 '22 20:10

FullStackSoon