Classe MissingInteropDataException (.NET Native)

solo .NET per app di Windows 10, .NET Native

Eccezione generata quando viene chiamato un metodo di marshalling manuale, ma i metadati per un tipo non vengono trovati dall'analisi statica o in un file di direttive di runtime.

Spazio dei nomi: System.Runtime.CompilerServices

Importante

La classe MissingInteropDataException è destinata esclusivamente all'uso interno da parte della catena di strumenti .NET Native. La classe non può essere usata in codice di terze parti ed è preferibile evitare di gestire l'eccezione nel codice dell'applicazione. Al contrario, eliminare l'eccezione aggiungendo le voci al file delle direttive di runtime. Per altre informazioni, vedere la sezione Osservazioni.

Sintassi

public class MissingInteropDataException : Exception

La classe MissingInteropDataException ha i seguenti membri:

Costruttori

Costruttore Descrizione
public MissingInteropDataException(String resourceId, Type pertinentType) Inizializza una nuova istanza della classe MissingInteropDataException usando l’ID di un messaggio fornito dal sistema che descrive l'errore e il tipo di cui mancano i dati. Questo costruttore è destinato a un uso interno da parte della sola catena di strumenti .NET Native.

Proprietà

Proprietà Descrizione
public IDictionary Data { get; } Ottiene una raccolta di coppie chiave/valore che forniscono informazioni definite dall'utente aggiuntive sull'eccezione. Ereditato da System.Exception.
public string HelpLink { get; set; } Ottiene o imposta un collegamento al file della Guida associato all'eccezione. Ereditato da System.Exception.
public int HResult { get; protected set; } Ottiene o imposta HRESULT, un valore numerico codificato assegnato a una specifica eccezione. Ereditato da System.Exception.
public Exception InnerException { get; } Ottiene l'eccezione che ha causato l'eccezione corrente. Ereditato da System.Exception.
public string Message { get; } Ottiene un messaggio che descrive l'eccezione corrente. Ereditato da System.Exception.
public Type MissingType { get; private set; } Ottiene o imposta il tipo di cui mancano i dati.
public string Source { get; set; } Ottiene o imposta il nome dell'app o dell'oggetto che ha causato l'errore. Ereditato da System.Exception.
public string StackTrace { get; } Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate. Ereditato da System.Exception.
public MethodBase TargetSite { get; } Ottiene il metodo che ha generato l'eccezione corrente. Ereditato da System.Exception.

Metodi

metodo Descrizione
public bool Equals(Object obj) Determina se l'oggetto specificato è uguale all'oggetto corrente. Ereditato da Object.
protected void Finalize() Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection. Ereditato da Object.
public Exception GetBaseException() Restituisce l'eccezione che rappresenta la causa radice di una o più eccezioni successive. Ereditato da System.Exception.
public int GetHashCode() Restituisce un codice hash per un'istanza MissingInteropDataException. Ereditato da Object.
public void GetObjectData(SerializationInfo info, StreamingContext context) Imposta un oggetto SerializationInfo con le informazioni relative all'eccezione. Ereditato da System.Exception.
public Type GetType() Ottiene il tipo di runtime dell'istanza corrente. Ereditato da System.Exception.
protected Object MemberwiseClone() Crea una copia superficiale dell'oggetto corrente. Ereditato da Object.
public string ToString() Restituisce la rappresentazione di stringa dell'eccezione corrente. Ereditato da System.Exception.

Eventi

Event Descrizione
protected event EventHandler<SafeSerializationEventArgs> SerializeObjectState Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione. Ereditato da System.Exception.

Dettagli sull'utilizzo

L'eccezione MissingInteropDataException viene generata quando una chiamata al metodo a un componente COM o Windows Runtime non riesce perché non sono disponibili le informazioni sul tipo.

I metadati disponibili in un'app al runtime sono definiti dal file di direttive di runtime (configurazione XML), *.rd.xml. Per evitare che l'app generi questa eccezione, è necessario modificare il file per definire i metadati che devono essere presenti al runtime. In genere questo errore viene risolto aggiungendo un attributo MarshalObject, MarshalDelegate o MarshalStructure all'elemento di programma appropriato nel file di direttive di runtime. Per informazioni sul formato di questo file, vedere Informazioni di riferimento sul file di configurazione delle direttive di runtime (rd.xml).

Importante

L'eccezione indica che i metadati richiesti dall'applicazione non sono disponibili in fase di esecuzione. Per questo motivo, l'eccezione non va gestita in un blocco try/catch. È invece necessario diagnosticare la causa dell'eccezione ed eliminarla usando una voce adatta a un file di direttive di runtime.

La classe MissingInteropDataException contiene un solo membro univoco, la proprietà MissingType, che indica il tipo di cui sono richiesti i metadati affinché riesca la chiamata al metodo. Tutti gli altri membri sono ereditati dalla classe base, System.Exception.

Vedi anche