Hallo
DP'ler
,
ich probiere gerade mal ein wenig C# aus und schreibe mir eine kleine Komponente für
SQL.
Jetzt möchte ich der Komponente Events hinzufügen. Probiert habe ich das so:
Code:
namespace QueryBuilder
{
public partial class SQLQueryPanel : Panel
{
//-------- EVENTS ----------------------------------------------------------------------------------
public delegate void SqlEventHandler(object sender, SqlUpdateEventArgs e);
public event SqlEventHandler SqlChanged;
protected void OnSqlChanged(SqlUpdateEventArgs e) // hier mag der Compiler nicht mehr weiter arbeiten
{
if (SqlChanged != null)
{
SqlChanged(this, e);
}
}
public void updateSql()
{
ISqlExporter exporter = new AnsiSql92Exporter();
OnSqlChanged(new SqlUpdateEventArgs(exporter.getSql(children, joinList)));
}
}
}
Die Klasse SqlUpdateEventArgs sieht dabei so aus:
Code:
using System;
using System.Collections.Generic;
using System.Text;
namespace QueryBuilder
{
class SqlUpdateEventArgs : System.EventArgs
{
public SqlUpdateEventArgs(string
sql)
{
this.sql =
sql;
}
public string
Sql
{
get
{
return(
sql);
}
}
string
sql;
}
}
Leider bekomme ich folgenden Fehler:
Inkonsistenter Zugriff: Parametertyp "QueryBuilder.SqlUpdateEventArgs" ist weniger zugreifbar als Methode "QueryBuilder.SQLQueryPanel.OnSqlChanged(QueryBuil der.SqlUpdateEventArgs)".
Verwiesen wir auf die markierte Stelle im Quelltext oben.
Kann mir da jemand helfen? Ich verstehe den Fehler leider nicht
.
Besten Dank