CS1112 de erro do compilador

Mensagem de erro

Não use 'sistema.tempo de execução.CompilerServices.ExtensionAttribute'.Use a palavra-chave 'this'.

Esse erro é gerado quando o ExtensionAttribute é usado em uma classe não-estático que contém os métodos de extensão. Se este atributo for usado em um estático classe outro erro, sistema autônomo CS0708: "Não é possível declarar membros de instância em uma classe estática," pode ocorrer.

Translation from VPE for Csharp, os métodos de extensão devem ser definidos em um estático classe e o primeiro parâmetro do método é modificado com a this palavra-chave. Não use o atributo todo no código-fonte.Para obter mais informações, consulte Métodos de extensão (Guia de programação C#).

Para corrigir este erro

  • Remover o atributo e aplicar o this modificador ao primeiro parâmetro do método.

Exemplo

O exemplo a seguir gera CS1112:

// cs1112.cs
[System.Runtime.CompilerServices.ExtensionAttribute] // CS1112
public class Extensions
{
    public bool A(bool b) { return b; }
}

class A { }