Класс MissingInteropDataException (машинный код .NET)
Приложения .NET для Windows 10, только .NET Native
Исключение, которое возникает, когда вызывается ручной метод маршалинга, но не найдены метаданные для типа в ходе статического анализа или в файле директив среды выполнения.
Пространство имен: System.Runtime.CompilerServices
Внимание
Класс MissingInteropDataException
предназначен исключительно для внутреннего использования цепочкой инструментов .NET Native. Он не предназначен для использования в стороннем коде. Вам также не следует обрабатывать исключение в коде своего приложения. Вместо этого вы устраняете исключение, добавляя записи в файл директив среды выполнения. Дополнительные сведения см. в разделе с примечаниями.
Синтаксис
public class MissingInteropDataException : Exception
В классе MissingInteropDataException
представлены следующие члены:
Конструкторы
Конструктор | Description |
---|---|
public MissingInteropDataException(String resourceId, Type pertinentType) |
Инициализирует новый экземпляр класса MissingInteropDataException с использованием идентификатора системного сообщения, описывающего ошибку и тип, данные которого отсутствуют. Этот конструктор предназначен только для внутреннего использования цепочкой инструментов .NET Native. |
Свойства
Свойство | Description |
---|---|
public IDictionary Data { get; } |
Возвращает коллекцию пар «ключ-значение», предоставляющую дополнительные сведения об исключении. (Является наследником System.Exception) |
public string HelpLink { get; set; } |
Получает или задает ссылку на файл справки, связанный с этим исключением. (Является наследником System.Exception) |
public int HResult { get; protected set; } |
Получает или задает HRESULT , который представляет собой закодированное числовое значение, присвоенное определенному исключению. (Является наследником System.Exception) |
public Exception InnerException { get; } |
Получает исключение, которое вызвало текущее исключение. (Является наследником System.Exception) |
public string Message { get; } |
Возвращает сообщение, описывающее текущее исключение. (Является наследником System.Exception) |
public Type MissingType { get; private set; } |
Получает или задает тип, для которого данные отсутствуют. |
public string Source { get; set; } |
Получает или задает имя приложения или объекта, вызвавшего ошибку. (Является наследником System.Exception) |
public string StackTrace { get; } |
Получает строковое представление непосредственных кадров в стеке вызова. (Является наследником System.Exception) |
public MethodBase TargetSite { get; } |
Возвращает метод, который вызвал текущее исключение. (Является наследником System.Exception) |
Методы
Метод | Description |
---|---|
public bool Equals(Object obj) |
Определяет, равен ли указанный объект текущему объекту. (Является наследником Object) |
protected void Finalize() |
Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как он будет уничтожен во время сборки мусора. (Является наследником Object) |
public Exception GetBaseException() |
Возвращает исключение, которое является первопричиной одного или нескольких исключений. (Является наследником System.Exception) |
public int GetHashCode() |
Возвращает хэш-код для экземпляраMissingInteropDataException . (Является наследником Object) |
public void GetObjectData(SerializationInfo info, StreamingContext context) |
Задает объект SerializationInfo, содержащий информацию об исключении. (Является наследником System.Exception) |
public Type GetType() |
Возвращает тип среды выполнения текущего экземпляра. (Является наследником System.Exception) |
protected Object MemberwiseClone() |
Создает неполную копию текущего объекта. (Является наследником Object) |
public string ToString() |
Возвращает строковое представление текущего исключения. (Является наследником System.Exception) |
События
Мероприятие | Description |
---|---|
protected event EventHandler<SafeSerializationEventArgs> SerializeObjectState |
Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении. (Является наследником System.Exception) |
сведения о потреблении;
Исключение MissingInteropDataException
возникает, если вызов метода в компонент COM или среду выполнения Windows не удается выполнить успешно, поскольку информация о типе недоступна.
Метаданные, доступные для приложения во время выполнения определяются файлом директив среды выполнения (XML-файл конфигурации), *. rd.xml. Чтобы избежать возникновения этого исключения приложения, необходимо изменить этот файл для определения метаданных, которые должны присутствовать во время выполнения. Чаще всего, можно устранить эту ошибку путем добавления атрибута MarshalObject
, MarshalDelegate
, или MarshalStructure
к соответствующему программному элементу файла директив среды выполнения. Сведения о формате этого файла см. в разделе Справочник по конфигурационному файлу директив среды выполнения (rd.xml).
Внимание
Так как это исключение указывает, что метаданные, необходимые приложению, недоступны во время выполнения, не следует обрабатывать это исключение в блоке try
/catch
. Вместо этого следует выяснить причину возникновения исключения и устранить ее, добавив соответствующую запись в файл директив среды выполнения.
Класс MissingInteropDataException
содержит один уникальный член, свойство MissingType
, указывающее тип, метаданные которого необходимы для успешного вызова метода. Все оставшиеся члены наследуются от базового класса, System.Exception.