Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA2256 |
| Заголовок | Все члены, объявленные в родительских интерфейсах, должны иметь реализацию в интерфейсе с атрибутом DynamicInterfaceCastableImplementation. |
| Категория | Использование |
| Исправление является критическим или не критическим | неразрывный |
| Включен по умолчанию в .NET 10 | Как предупреждение |
| Применимые языки | C# и Visual Basic |
Причина
Интерфейс с DynamicInterfaceCastableImplementationAttribute имеет не реализованный элемент.
Описание правила
Типы, указанные с DynamicInterfaceCastableImplementationAttribute, выступают как реализация интерфейса для типа, который реализует IDynamicInterfaceCastable. В результате он должен предоставить реализацию всех элементов, определенных в унаследованных интерфейсах, так как тип, реализующий IDynamicInterfaceCastable их, не будет предоставлять их в противном случае.
Устранение нарушений
Реализуйте отсутствующие элементы интерфейса.
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()
{
// ...
}
}
Когда следует подавлять ошибки
Для этого правила отключать вывод предупреждений не следует.