Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
| Eigenschaft | Wert |
|---|---|
| Regel-ID | CA2257 |
| Titel | Für eine Schnittstelle mit dem „DynamicInterfaceCastableImplementationAttribute“ definierte Member sollten statisch sein. |
| Kategorie | Verwendung |
| Fix führt zu Unterbrechungen oder bleibt funktionsfähig | Untrennbar |
| Standardmäßig in .NET 10 aktiviert | Als Warnung |
| Anwendbare Sprachen | C# und Visual Basic |
Ursache
Ein Schnittstellenmember wird nicht explizit implementiert oder als static markiert.
Regelbeschreibung
Da ein Typ, der IDynamicInterfaceCastable implementiert, möglicherweise keine dynamische Schnittstelle in den Metadaten implementieren kann, werden Aufrufe eines Instanzschnittstellenmitglieds, das nicht als explizit für diesen Typ implementiert definiert ist, wahrscheinlich zur Laufzeit fehlschlagen. Um Laufzeitfehler zu vermeiden, markieren Sie neue Schnittstellenmitglieder static.
So beheben Sie Verstöße
Markieren Sie das Schnittstellenmitglied static.
Example
[DynamicInterfaceCastableImplementation]
interface IExample
{
// This method violates the rule.
void BadMethod();
// This method satisfies the rule.
static void GoodMethod()
{
// ...
}
}
Wann Fehler unterdrücken
Unterdrücken Sie keine Warnung dieser Regel.