Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
| Proprietà | valore |
|---|---|
| ID regola | CA2257 |
| Title | I membri definiti in un'interfaccia con 'DynamicInterfaceCastableImplementationAttribute' devono essere 'static' |
| Categoria | Utilizzo |
| La correzione causa un'interruzione o meno | Non causa un'interruzione |
| Abilitato per impostazione predefinita in .NET 10 | Come avviso |
Causa
Un membro dell'interfaccia non viene implementato in modo esplicito o contrassegnato come static.
Descrizione regola
Poiché un tipo che implementa IDynamicInterfaceCastable potrebbe non implementare un'interfaccia dinamica nei metadati, è probabile che le chiamate a un membro dell'interfaccia dell'istanza che non sia un'implementazione esplicita definita in questo tipo non riescano in fase di esecuzione. Per evitare errori di runtime, contrassegnare i nuovi membri dell'interfaccia static.
Come correggere le violazioni
Contrassegnare il membro staticdell'interfaccia .
Example
[DynamicInterfaceCastableImplementation]
interface IExample
{
// This method violates the rule.
void BadMethod();
// This method satisfies the rule.
static void GoodMethod()
{
// ...
}
}
Quando eliminare gli errori
Non escludere un avviso da questa regola.