Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
Impossibile utilizzare l'oggetto 'this' prima che tutti i suoi campi vengano assegnati.
The 'this' object cannot be used before all of its fields are assigned to
Per poter chiamare un metodo in una struct, un costruttore deve assegnare prima tutti i campi contenuti nella struct.
Se questo errore viene visualizzato quando si tenta di inizializzare una proprietà in un costruttore di strutture, la soluzione è modificare il parametro del costruttore in modo da specificare il campo sottostante anziché la proprietà stessa. Le proprietà implementate automaticamente devono essere evitate nelle strutture perché non dispongono di campo sottostante e pertanto non possono essere inizializzate in alcun modo dal costruttore.
Per ulteriori informazioni, vedere Utilizzo di strutture (Guida per programmatori C#).
Esempio
Il seguente codice di esempio genera l'errore CS0188:
// CS0188.cs
// compile with: /t:library
namespace MyNamespace
{
class MyClass
{
struct S
{
public int a;
void Foo()
{
}
S(int i)
{
// a = i;
Foo(); // CS0188
}
}
public static void Main()
{ }
}
}
Vedere anche
Riferimenti
Strutture (Guida per programmatori C#)
Proprietà implementate automaticamente (Guida per programmatori C#)