c# Action<T> Umgang mit anonymen Methoden

Ich habe mir vor kurzem erkundeten c# zu mir. Aber stecken mit diesem problem.

Also ich habe eine Methode dbExec

public void dbExec(Action<OleDbCommand> func)
{
    using (var conn = new OleDbConnection(connStr))
    {
        conn.Open();
        var cmd = conn.CreateCommand();
        func(cmd); 
    }
}

delegieren,

public delegate void DelCmd(OleDbCommand cmd);

und eine andere Methode:

public ICollection<string> CheckUserPermissions() 
{
    List<string> logins = new List<string>();
    DelCmd delCmd = delegate(OleDbCommand cmd)
    {
        cmd.CommandText = "SELECT PERMISSIONS.LOGIN FROM PERMISSIONS";
        using (var rdr = cmd.ExecuteReader()) while (rdr.Read()) logins.Add(rdr["LOGIN"].ToString());  
    };
    dbExec(delcmd);
    return logins;
} 

Das problem mit dbExec(delcmd); - Anweisung. Der Fehler ist "delcmd existiert nicht im aktuellen Kontext". Wie übergeben Sie eine anonyme Methode als parameter an eine andere Methode, mit der Aktion erklärten parameter?

Das ist, weil die upper-case - C Fragen 🙂 delcmd sollte delCmd.

InformationsquelleAutor user2846723 | 2013-10-04

Schreibe einen Kommentar