Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Eigenschappen | Weergegeven als |
|---|---|
| Regel-id | CA2257 |
| Titel | Leden die zijn gedefinieerd op een interface met de 'DynamicInterfaceCastableImplementationAttribute' moeten statisch zijn |
| Categorie | Gebruik |
| Oplossing is brekend of niet-brekend | Niet-brekend |
| Standaard ingeschakeld in .NET 10 | Als waarschuwing |
Oorzaak
Een interfacelid is niet expliciet geïmplementeerd of gemarkeerd static.
Beschrijving van regel
Aangezien een type dat IDynamicInterfaceCastable implementeert, geen dynamische interface in metadata kan implementeren, zullen aanroepen naar een exemplaarinterfacelid dat geen expliciete implementatie op dit type heeft, waarschijnlijk mislukken bij runtime. Als u runtimefouten wilt voorkomen, markeert u nieuwe interfaceleden static.
Schendingen oplossen
Markeer het interfacelid static.
Example
[DynamicInterfaceCastableImplementation]
interface IExample
{
// This method violates the rule.
void BadMethod();
// This method satisfies the rule.
static void GoodMethod()
{
// ...
}
}
Wanneer fouten onderdrukken
Een waarschuwing van deze regel niet onderdrukken.