Esiste un modo per implementare un'interfaccia esplicitamente utilizzando una proprietà automatica? Ad esempio, prendere in considerazione questo codice:Implementazione esplicita di un'interfaccia utilizzando una proprietà automatica
namespace AutoProperties
{
interface IMyInterface
{
bool MyBoolOnlyGet { get; }
}
class MyClass : IMyInterface
{
static void Main(){}
public bool MyBoolOnlyGet { get; private set; } // line 1
//bool IMyInterface.MyBoolOnlyGet { get; private set; } // line 2
}
}
Questo codice compila. Tuttavia, se si sostituisce la riga 1 con la riga 2, non viene compilata.
(Non è che ho bisogno di ottenere la linea 2 di lavoro - Sono solo curioso.)
Quale errore si ottiene? –
Per "perché" - chiediti ... come potrei assegnarlo? –
Ottengo due errori: 1. 'AutoProperties.MyClass.AutoProperties.IMyInterface.MyBoolOnlyGet.set' aggiunge un accessor non trovato nel membro dell'interfaccia 'AutoProperties.IMyInterface.MyBoolOnlyGet'. 2. Il modificatore 'privato' non è valido per questo articolo – user181813