CS0686 de erro do compilador
Mensagem de erro
Acessador 'assessor' não pode implementar membro para 'tipo' do tipo de membro de interface.Use uma implementação explícita da interface.
Sugeridos: Este erro pode ocorrer durante a implementação de uma interface que contém nomes de método que estão em conflito com os métodos gerados automaticamente associados a uma propriedade ou evento.sistema autônomo métodos get/conjunto para sistema autônomo propriedades serão gerados sistema autônomo get_property e set_property e sistema autônomo métodos de adicionar ou remover eventos são gerados sistema autônomo add_event e remove_event.Se uma interface contém um desses métodos, ocorre um conflito.Para evitar esse erro, implemente os métodos usando uma implementação explícita da interface.Para fazer isso, especifique a função:
Interface.get_property() { /* */ }
Interface.set_property() { /* */ }
Exemplo
O exemplo a seguir gera CS0686:
// CS0686.cs
interface I
{
int get_P();
}
class C : I
{
public int P
{
get { return 1; } // CS0686
}
}
// But the following is valid:
class D : I
{
int I.get_P() { return 1; }
public static void Main() {}
}
Este erro também pode ocorrer ao declarar eventos.A construção de evento gera automaticamente o add_event e remove_event métodos, que podem entrar em conflito com sistema autônomo métodos do mesmo nome em uma interface, sistema autônomo no exemplo a seguir:
// CS0686b.cs
using System;
interface I
{
void add_OnMyEvent(EventHandler e);
}
class C : I
{
public event EventHandler OnMyEvent
{
add { } // CS0686
remove { }
}
}
// Correct (using explicit interface implementation):
class D : I
{
void I.add_OnMyEvent(EventHandler e) {}
public static void Main() {}
}