Compiler Error CS1112

 

Para obter a documentação mais recente do Visual Studio 2017 RC, consulte a documentação do Visual Studio 2017 RC.

Não use “System.Runtime.CompilerServices.ExtensionAttribute”.Use a palavra-chave 'this'.

Esse erro é gerado quando ExtensionAttribute é usado em uma classe de não estático que contém métodos de extensão. Se esse atributo for usado em uma classe estática, outro erro, como CS0708: “Não pode declarar membros de instância de uma classe estática,” poderá ocorrer.

No C#, os métodos de extensão devem ser definidos em uma classe estática e o primeiro parâmetro de método é alterado com a palavra-chave de this . Não use o atributo de qualquer no código-fonte. Para obter mais informações, consulte Métodos de extensão.

Para corrigir este erro

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

O exemplo a seguir gerenciar CS1112:

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

Mostrar: