CS1929 de erro do compilador
Mensagem de erro
Argumento de instância: não é possível converter de 'typeA' em 'typeB'.
Este erro é gerado quando você tentar invocar um método de extensão de uma classe que não estende.No exemplo mostrado aqui, o método de extensão está definido para a classe derivada A, mas não para a classe base B.
Para corrigir este erro
- Crie um novo método de extensão para o tipo de onde você tem para invocá-lo ou mova a telefonar para um objeto do tipo que estende o método existente.
Exemplo
O código a seguir gera CS1928 e CS1929:
// cs1929.cs
using System.Linq;
using System.Collections;
static class Ext
{
public static void ExtMethod(this A a)
{
}
}
class A : B
{
}
class B
{
static void Main()
{
B b = new B();
b.ExtMethod(); // CS1929
}
}