최근에 C#을 직접 살펴 보았습니다. 그러나이 문제에 갇혔다.C# 동작 <T> 익명 메서드로 처리하는 방법
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;
}
문제 문 dbExec(delcmd);
과 :
public void dbExec(Action<OleDbCommand> func)
{
using (var conn = new OleDbConnection(connStr))
{
conn.Open();
var cmd = conn.CreateCommand();
func(cmd);
}
}
대표,
public delegate void DelCmd(OleDbCommand cmd);
또 다른 방법이있다. 오류는 "delcmd가 현재 컨텍스트에 없습니다"입니다. 익명 메서드를 매개 변수로 다른 메서드에 전달하는 방법?
대문자'C'는'delcmd'가'delCmd'이어야하기 때문입니다. – dasblinkenlight