Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Vlastnost | Hodnota |
|---|---|
| ID pravidla | CA2256 |
| Název | Všechny členy deklarovaní v nadřazených rozhraních musí mít implementaci v rozhraní s atributem DynamicInterfaceCastableImplementation. |
| Kategorie | Využití |
| Oprava, která může být destruktivní nebo nedestruktivní | Nezlomitelný |
| Povoleno ve výchozím nastavení v .NET 10 | Jako upozornění |
| Příslušné jazyky | C# a Visual Basic |
Příčina
Rozhraní s DynamicInterfaceCastableImplementationAttribute má neimplementovaného člena.
Popis pravidla
Typy s atributem DynamicInterfaceCastableImplementationAttribute fungují jako implementace rozhraní pro typ implementující IDynamicInterfaceCastable. V důsledku toho musí poskytnout implementaci všech členů definovaných ve zděděných rozhraních, protože typ, který implementuje IDynamicInterfaceCastable, by je jinak neposkytl.
Jak opravit porušení
Implementujte chybějící členy rozhraní.
Example
interface IParent
{
void ParentMethod();
}
// This interface violates the rule.
[DynamicInterfaceCastableImplementation]
interface IBadChild : IParent
{
static void ChildMethod()
{
// ...
}
}
// This interface satisfies the rule.
[DynamicInterfaceCastableImplementation]
interface IGoodChild : IParent
{
static void ChildMethod()
{
// ...
}
void IParent.ParentMethod()
{
// ...
}
}
Kdy potlačit chyby
Nepotlačujte upozornění na toto pravidlo.