Compilerfout CS0507
'function1': kan geen toegangsmodifiers wijzigen bij het overschrijven van 'access' overgenomen lid 'function2'
Er is geprobeerd de toegangsspecificatie in een methode te wijzigen.
Voorbeeld 1
In het volgende voorbeeld wordt CS0507 gegenereerd.
// CS0507.cs
abstract public class clx
{
virtual protected void f() {}
}
public class cly : clx
{
public override void f() {} // CS0507
public static void Main() {}
}
Voorbeeld 2
CS0507 kan ook optreden als een klasse probeert een methode te overschrijven die is gemarkeerd als protected internal
gedefinieerd in metagegevens waarnaar wordt verwezen. In deze situatie moet de onderdrukkingsmethode worden gemarkeerd als protected
.
// CS0507_b.cs
// compile with: /target:library
abstract public class clx
{
virtual protected internal void f() {}
}
In het volgende voorbeeld wordt CS0507 gegenereerd.
// CS0507_c.cs
// compile with: /reference:cs0507_b.dll
public class cly : clx
{
protected internal override void f() {} // CS0507
// try the following line instead
// protected override void f() {} // OK
public static void Main() {}
}
Met ons samenwerken op GitHub
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en controleren. Bekijk onze gids voor inzenders voor meer informatie.